Transmission device, transmission method, reception device, reception method, transmission/reception device, communication method, recording medium, and program

ABSTRACT

A transmitting apparatus, a transmitting method, a receiving apparatus, a receiving method, a transceiver, a communication apparatus and method, a recording medium, and a program in which high quality voice can be decoded. A cellular telephone outputs coded voice data and also supplies uncoded voice sample data to a switching center while a telephone call is not made. Based on voice data used for the previous calculation processing and newly input voice data, the switching center performs calculation processing for quality-improving data for improving the quality of voice to be output from a cellular telephone that receives the coded voice data. The switching center stores the optimal quality-improving data as a user information database in association with the cellular telephone. The cellular telephone decodes the coded voice data based on the optimal quality-improving data supplied from the switching center.

TECHNICAL FIELD

The present invention relates to transmitting apparatuses andtransmitting methods, receiving apparatuses and receiving methods,transceiver apparatuses, communication apparatuses and methods,recording media, and programs. In particular, the invention relates to atransmitting apparatus and a transmitting method, a receiving apparatusand a receiving method, a transceiver apparatus, a communicationapparatus and method, a recording medium, and a program in whichcommunication using high quality voice can be achieved in, for example,cellular telephones.

BACKGROUND ART

In voice communication, for example, in cellular telephones, due torestricted transmission bands, the quality of the received voice is muchlower than the quality of the actual voice output by a user.

Accordingly, in known cellular telephones, to improve the quality of thereceived voice, signal processing, such as filtering, is performed onthe received voice to adjust the frequency spectrum of the voice.

However, since the characteristic of the voice varies according to theuser, the quality of voice having different frequency characteristicscannot be sufficiently improved merely by performing filtering on thereceived voice by using a filter having the same tap coefficient.

DISCLOSURE OF INVENTION

The present invention has been made in view of the above-describedbackground. It is an object of the present invention to obtain thesufficiently improved voice quality for each user.

A transmitting apparatus of the present invention includes: coding meansfor coding voice data and for outputting coded voice data; transmittingmeans for transmitting the coded voice data; parameter storage means forstoring a parameter concerning the coding performed by the coding meansand a parameter concerning the transmission performed by thetransmitting means in association with specifying information forspecifying a receiving side that receives the coded voice data; andparameter setting means for selecting and setting, based on thespecifying information, the parameter concerning the coding performed bythe coding means and the parameter concerning the transmission performedby the transmitting means stored in the parameter storage means.

A transmitting method of the present invention includes: a coding stepof coding voice data and outputting coded voice data; a transmissioncontrol step of controlling the transmission of the coded voice data; aparameter storage control step of controlling the storage of a parameterconcerning the coding performed by processing of the coding step and aparameter concerning the transmission controlled by processing of thetransmission control step in association with specifying information forspecifying a receiving side that receives the coded voice data; and aparameter setting step of selecting and setting, based on the specifyinginformation, the parameter concerning the coding performed by theprocessing of the coding step and the parameter concerning thetransmission controlled by the processing of the transmission controlstep, the storage of the parameters being controlled by processing ofthe parameter storage control step.

A first recording medium of the present invention includes: a codingstep of coding voice data and outputting coded voice data; atransmission control step of controlling the transmission of the codedvoice data; a parameter storage control step of controlling the storageof a parameter concerning the coding performed by processing of thecoding step and a parameter concerning the transmission controlled byprocessing of the transmission control step in association withspecifying information for specifying a receiving side that receives thecoded voice data; and a parameter setting step of selecting and setting,based on the specifying information, the parameter concerning the codingperformed by the processing of the coding step and the parameterconcerning the transmission controlled by the processing of thetransmission control step, the storage of the parameters beingcontrolled by processing of the parameter storage control step.

A first program of the present invention includes: a coding step ofcoding voice data and outputting coded voice data; a transmissioncontrol step of controlling the transmission of the coded voice data; aparameter storage control step of controlling the storage of a parameterconcerning the coding performed by processing of the coding step and aparameter concerning the transmission controlled by processing of thetransmission control step in association with specifying information forspecifying a receiving side that receives the coded voice data; and aparameter setting step of selecting and setting, based on the specifyinginformation, the parameter concerning the coding performed by theprocessing of the coding step and the parameter concerning thetransmission controlled by the processing of the transmission controlstep, the storage of the parameters being controlled by processing ofthe parameter storage control step.

A receiving apparatus of the present invention includes: receiving meansfor receiving coded voice data; decoding means for decoding the codedvoice data received by the receiving means; parameter storage means forstoring a parameter concerning the reception performed by the receivingmeans and a parameter concerning the decoding performed by the decodingmeans in association with specifying information for specifying atransmitting side that transmits the coded voice data; and parametersetting means for selecting and setting, based on the specifyinginformation, the parameter concerning the reception performed by thereceiving means and the parameter concerning the decoding performed bythe decoding means stored in the parameter storage means.

A receiving method of the present invention includes: a receptioncontrol step of controlling the reception of coded voice data; adecoding step of decoding the coded voice data whose reception iscontrolled by processing of the reception control step; a parameterstorage control step of controlling the storage of a parameterconcerning the reception controlled by the processing of the receptioncontrol step and a parameter concerning the decoding performed byprocessing of the decoding step in association with specifyinginformation for specifying a transmitting side that transmits the codedvoice data; and a parameter setting step of selecting and setting, basedon the specifying information, the parameter concerning the receptioncontrolled by the processing of the reception control step and theparameter concerning the decoding performed by the processing of thedecoding step, the storage of the parameters being controlled byprocessing of the parameter storage control step.

A second recording medium of the present invention includes: a receptioncontrol step of controlling reception of the coded voice data; adecoding step of decoding the coded voice data whose reception iscontrolled by processing of the reception control step; a parameterstorage control step of controlling the storage of a parameterconcerning the reception controlled by the processing of the receptioncontrol step and a parameter concerning the decoding performed byprocessing of the decoding step in association with specifyinginformation for specifying a transmitting side that transmits the codedvoice data; and a parameter setting step of selecting and setting, basedon the specifying information, the parameter concerning the receptioncontrolled by the processing of the reception control step and theparameter concerning the decoding performed by the processing of thedecoding step, the storage of the parameters being controlled byprocessing of the parameter storage control step.

A second program of the present invention includes: a reception controlstep of controlling the reception of coded voice data; a decoding stepof decoding the coded voice data whose reception is controlled byprocessing of the reception control step; a parameter storage controlstep of controlling the storage of a parameter concerning the receptioncontrolled by the processing of the reception control step and aparameter concerning the decoding performed by processing of thedecoding step in association with specifying information for specifyinga transmitting side that transmits the coded voice data; and a parametersetting step of selecting and setting, based on the specifyinginformation, the parameter concerning the reception controlled by theprocessing of the reception control step and the parameter concerningthe decoding performed by the processing of the decoding step, thestorage of the parameters being controlled by processing of theparameter storage control step.

A transceiver of the present invention includes: coding means for codingvoice data and for outputting coded voice data; transmitting means fortransmitting the coded voice data; first parameter storage means forstoring a parameter concerning the coding performed by the coding meansand a parameter concerning the transmission performed by thetransmitting means in association with first specifying information forspecifying a receiving side that receives the coded voice data; firstparameter setting means for selecting and setting, based on the firstspecifying information, the parameter concerning the coding performed bythe coding means and the parameter concerning the transmission performedby the transmitting means stored in the first parameter storage means;receiving means for receiving the coded voice data; decoding means fordecoding the coded voice data received by the receiving means; secondparameter storage means for storing a parameter concerning the receptionperformed by the receiving means and a parameter concerning the decodingperformed by the decoding means in association with second specifyinginformation for specifying a transmitting side that transmits the codedvoice data; and second parameter setting means for selecting andsetting, based on the second specifying information, the parameterconcerning the reception performed by the receiving means and theparameter concerning the decoding performed by the decoding means storedin the second parameter storage means.

A first communication apparatus of the present invention includes:acquiring means for acquiring from a transceiver quality-improving datafor improving the quality of decoded voice data obtained by decodingcoded voice data; storage means for storing the quality-improving dataacquired by the acquiring means in association with specifyinginformation for specifying the transceiver; and supply means forsupplying the quality-improving data stored in the storage means to thetransceiver specified by the specifying information.

A first communication method of the present invention includes: anacquiring control step of controlling the acquisition from a transceiverquality-improving data for improving the quality of decoded voice dataobtained by decoding coded voice data; a storage control step ofcontrolling the storage of the quality-improving data whose acquisitionis controlled by processing of the acquiring control step in associationwith specifying information for specifying the transceiver; and a supplycontrol step of controlling the supplying of the quality-improving datawhose storage is controlled by processing of the storage control step tothe transceiver specified by the specifying information.

A third recording medium of the present invention includes: an acquiringcontrol step of controlling the acquisition from the transceiverquality-improving data for improving the quality of decoded voice dataobtained by decoding coded voice data; a storage control step ofcontrolling the storage of the quality-improving data whose acquisitionis controlled by processing of the acquiring control step in associationwith specifying information for specifying the transceiver; and a supplycontrol step of controlling the supplying of the quality-improving datawhose storage is controlled by processing of the storage control step tothe transceiver specified by the specifying information.

A third program of the present invention includes: an acquiring controlstep of controlling the acquisition from the transceiverquality-improving data for improving the quality of decoded voice dataobtained by decoding coded voice data; a storage control step ofcontrolling the storage of the quality-improving data whose acquisitionis controlled by processing of the acquiring control step in associationwith specifying information for specifying the transceiver; and a supplycontrol step of controlling the supplying of the quality-improving datawhose storage is controlled by processing of the storage control step tothe transceiver specified by the specifying information.

A second communication apparatus of the present invention includes:acquiring means for acquiring a feature concerning the transmission andreception of coded voice data from a transceiver; calculating means forcalculating quality-improving data for improving the quality of decodedvoice data obtained by decoding the coded voice data based on thefeature acquired by the acquiring means; and supply means for supplyingthe quality-improving data calculated by the calculating means to thetransceiver from which the feature is acquired.

A second communication method of the present invention includes: anacquiring control step of controlling the acquisition of a featureconcerning the transmission and reception of coded voice data from atransceiver; a calculating step of calculating quality-improving datafor improving the quality of decoded voice data obtained by decoding thecoded voice data based on the feature whose acquisition is controlled byprocessing of the acquiring control step; and a supply control step ofcontrolling the supplying of the quality-improving data calculated byprocessing of the calculating step to the transceiver from which thefeature is acquired.

A fourth recording medium of the present invention includes: anacquiring control step of controlling the acquisition of a featureconcerning the transmission and reception of coded voice data from thetransceiver; a calculating step of calculating quality-improving datafor improving the quality of decoded voice data obtained by decoding thecoded voice data based on the feature whose acquisition is controlled byprocessing of the acquiring control step; and a supply control step ofcontrolling the supplying of the quality-improving data calculated byprocessing of the calculating step to the transceiver from which thefeature is acquired.

A fourth program of the present invention includes: an acquiring controlstep of controlling the acquisition of a feature concerning thetransmission and reception of coded voice data from the transceiver; acalculating step of calculating quality-improving data for improving thequality of decoded voice data obtained by decoding the coded voice databased on the feature whose acquisition is controlled by processing ofthe acquiring control step; and a supply control step of controlling thesupplying of the quality-improving data calculated by processing of thecalculating step to the transceiver from which the feature is acquired.

According to the transmitting apparatus, the transmitting method, andthe first program of the present invention, voice data is coded, and thecoded voice data is transmitted. Meanwhile, a parameter concerning thecoding and a parameter concerning the transmission are stored inassociation with specifying information for specifying a receiving side.Based on this specifying information, the stored parameter concerningthe coding and the stored parameter concerning the transmission areselected and set.

According to the receiving apparatus, the receiving method, and thesecond program of the present invention, coded voice data is receivedand decoded. A parameter concerning the reception and a parameterconcerning the decoding are stored in association with specifyinginformation for specifying a transmitting side that transmits the codedvoice data. Based on the specifying information, the stored parameterconcerning the reception and a parameter concerning the decoding areselected and set.

According to the transceiver of the present invention, voice data iscoded and the coded voice data is output and transmitted. Meanwhile, aparameter concerning the coding and a parameter concerning thetransmission are stored in association with first specifying informationfor specifying a receiving side that receives the coded voice data.Based on the first specifying information, the stored parameterconcerning the coding and the stored parameter concerning thetransmission are selected and set. The coded voice data is received anddecoded. Meanwhile, a parameter concerning the reception and a parameterconcerning the decoding are stored in association with second specifyinginformation for specifying a transmitting side that transmits the codedvoice data. Based on the second specifying information, the storedparameter concerning the reception and the stored parameter concerningthe decoding are selected and stored.

According to the first communication apparatus, the first communicationmethod, and the third program of the present invention,quality-improving data for improving the quality of decoded voice dataobtained by decoding coded voice data is obtained from a transceiver.The obtained quality-improving data is stored in association withspecifying information for specifying the transceiver, and the storedquality-improving data is supplied to the transceiver specified by thespecifying information.

According to the second communication apparatus, the secondcommunication method, and the fourth program of the present invention, afeature concerning the transmission and reception of coded voice data isobtained from a transceiver. Based on the obtained feature,quality-improving data for improving the quality of decoded voice dataobtained by decoding the coded voice data is calculated, and thecalculated quality-improving data is the supplied to the transceiverthat has sent the feature.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example of the configurationof an embodiment of a transmission system to which the present inventionis applied.

FIG. 2 is a block diagram illustrating an example of the configurationof a cellular telephone 101.

FIG. 3 is a block diagram illustrating an example of the configurationof a transmitter 113.

FIG. 4 is a block diagram illustrating an example of the configurationof a receiver 114.

FIG. 5 is a flowchart illustrating quality-improving data settingprocessing performed by the receiver 114.

FIG. 6 is a flowchart illustrating a first embodiment ofquality-improving data transmission processing by a calling side.

FIG. 7 is a flowchart illustrating a first embodiment ofquality-improving data updating processing performed by an incomingside.

FIG. 8 is a flowchart illustrating a second embodiment ofquality-improving data transmission processing by a calling side.

FIG. 9 is a flowchart illustrating a second embodiment ofquality-improving data updating processing performed by an incomingside.

FIG. 10 is a flowchart illustrating a third embodiment ofquality-improving data transmission processing by a calling side.

FIG. 11 is a flowchart illustrating a third embodiment ofquality-improving data updating processing performed by an incomingside.

FIG. 12 is a flowchart illustrating a fourth embodiment ofquality-improving data transmission processing by a calling side.

FIG. 13 is a flowchart illustrating a fourth embodiment ofquality-improving data updating processing performed by an incomingside.

FIG. 14 is a block diagram illustrating an example of the configurationof a learning unit 125.

FIG. 15 is a flowchart illustrating learning processing performed by thelearning unit 125.

FIG. 16 is a block diagram illustrating an example of the configurationof a decoder 132.

FIG. 17 is a flowchart illustrating processing performed by the decoder132.

FIG. 18 is a block diagram illustrating an example of the configurationof a CELP coder 123.

FIG. 19 is a block diagram illustrating an example of the configurationof the decoder 132 in a case the CELP coder 123 is employed.

FIG. 20 is a block diagram illustrating an example of the configurationof the learning unit 125 in a case the CELP coder 123 is employed.

FIG. 21 is a block diagram illustrating an example of the configurationof the coder 123 that performs vector quantization.

FIG. 22 is a block diagram illustrating an example of the configurationof the learning unit 125 in a case the coder 123 performs vectorquantization.

FIG. 23 is a flowchart illustrating learning processing performed by thelearning unit 125 in a case the coder 123 performs vector quantization.

FIG. 24 is a block diagram illustrating an example of the configurationof the decoder 132 in a case the coder 123 performs vector quantization.

FIG. 25 is a flowchart illustrating the processing performed by thedecoder 132 in a case the coder 123 performs vector quantization.

FIG. 26A illustrates an example of a default database.

FIG. 26B illustrates an example of a default database.

FIG. 26C illustrates an example of a default database.

FIG. 27A illustrates an example of a user information database.

FIG. 27B illustrates an example of a user information database.

FIG. 28 is a block diagram illustrating another example of theconfiguration of the receiver 114.

FIG. 29 is a flowchart illustrating quality-improving-data optimal valuesetting processing.

FIG. 30 is a block diagram illustrating another example of theconfiguration of the transmission system to which the present inventionis applied.

FIG. 31 is a block diagram illustrating another example of theconfiguration of the transmitter 113.

FIG. 32 is a block diagram illustrating an example of the configurationof a switching center 423.

FIG. 33 is a block diagram illustrating an example of the configurationof a quality-improving data calculator 424.

FIG. 34 is a flowchart illustrating processing performed by thetransmission system shown in FIG. 30.

FIG. 35 is a flowchart illustrating quality-improving data calculationprocessing.

FIG. 36 is a block diagram illustrating another example of theconfiguration of the transmission system to which the present inventionis applied.

FIG. 37 is a flowchart illustrating processing performed by thetransmission system shown in FIG. 36.

FIG. 38 is a block diagram illustrating another example of theconfiguration of the transmission system to which the present inventionis applied.

FIG. 39 is a flowchart illustrating processing performed by thetransmission system shown in FIG. 38.

FIG. 40 is a block diagram illustrating another example of theconfiguration of the transmission system to which the present inventionis applied.

FIG. 41 is a block diagram illustrating an example of the configurationof a home server 501.

FIG. 42 is a flowchart illustrating processing performed by thetransmission system shown in FIG. 40.

FIG. 43 is a flowchart illustrating another example of the processingperformed by the transmission system shown in FIG. 40.

FIG. 44 is a flowchart illustrating still another example of theprocessing performed by the transmission system shown in FIG. 40.

FIG. 45 is a block diagram illustrating an example of the configurationof an embodiment of a computer to which the present invention isapplied.

BEST MODE FOR CARRYING OUT THE INVENTION

FIG. 1 illustrates the configuration of an embodiment of a transmissionsystem (system is a set of a plurality of logical units, and it is notessential that the units be in the same housing) to which the presentinvention is applied.

In this transmission system, cellular telephones 101 ₁ and 101 ₂wirelessly perform transmission and reception with base stations 102 ₁and 102 ₂, respectively, and the base stations 102 ₁ and 102 ₂ performtransmission and reception with a switching center 103. Accordingly,voice can be ultimately sent and received between the cellulartelephones 101 ₁ and 101 ₂ via the base stations 102 ₁ and 102 ₂ and theswitching center 103. The base stations 102 ₁ and 102 ₂ may be the samestation or different stations.

The cellular telephones 101 ₁ and 101 ₂ are hereinafter referred to asthe “cellular telephone 101” unless they have to be individuallydistinguished.

FIG. 2 illustrates an example of the configuration of the cellulartelephone 101 ₁ shown in FIG. 1. The cellular telephone 101 ₂ isconfigured similarly to the cellular telephone 101 ₁, and thus, anexplanation thereof is omitted.

An antenna 111 receives radio waves from the base station 102 ₁ or 102 ₂and supplies them to a modem 112, and also transmits a signal from themodem 112 to the base station 102 ₁ or 102 ₂ by radio waves. The modem112 demodulates a signal from the antenna 111 according to, for example,a CDMA (Code Division Multiple Access) method, and supplies theresulting demodulated signal to a receiver 114. The modem 112 alsomodulates transmission data supplied from a transmitter 113 accordingto, for example, the CDMA method, and supplies the resulting modulatedsignal to the antenna 111. The transmitter 113 performs predeterminedprocessing, such as coding, on the user's voice input into thetransmitter 113 to obtain transmission data, and supplies it to themodem 112. The receiver 114 receives data, which is a demodulatedsignal, from the modem 112, so as to decode the signal into high qualityvoice and outputs it.

An operation unit 115 is operated by a user when inputting the telephonenumber of a receiving side or predetermined commands, and an operationsignal corresponding to the operation is supplied to the transmitter 113or the receiver 114.

Information can be sent and received between the transmitter 113 and thereceiver 114 if necessary.

FIG. 3 illustrates an example of the configuration of the transmitter113 shown in FIG. 2.

A user's voice is input into a microphone 121, and the microphone 121outputs the user's voice as a voice signal, which is an electric signal,to an A/D (Analog/Digital) converter 122. The A/D converter 122 convertsthe analog voice signal from the microphone 121 into digital voice data,and outputs it to a coder 123 and a learning unit 125.

The coder 123 codes the voice data from the A/D converter 122 accordingto a predetermined coding method, and outputs the resulting coded voicedata to a transmission controller 124.

The transmission controller 124 controls the transmission of the codedvoice data output from the coder 123 and data output from a manager 127,which is described below. That is, the transmission controller 124selects the coded voice data output from the coder 123 or the dataoutput from the manager 127, which is discussed below, and outputs theselected data to the modem 112 (FIG. 2) as transmission data accordingto a predetermined transmission timing. The transmission controller 124outputs, not only the coded voice data and quality-improving data, butalso outputs, as transmission data, the telephone number of a receivingside, the telephone number of the cellular telephone 101, which is acalling side, or other information, which is input by operating theoperation unit 115, if necessary.

The learning unit 125 performs learning of quality-improving data forimproving the quality of voice output from a receiving side whichreceives the coded voice data output from the coder 123 based on voicedata used for past learning and new voice data input from the A/Dconverter 122. When obtaining new quality-improving data by learning,the learning unit 125 supplies it to a storage unit 126.

The storage unit 126 stores the quality-improving data supplied from thelearning unit 125.

The manager 127 manages the transmission of the quality-improving datastored in the storage unit 126 while referring to information suppliedfrom the receiver 114 if necessary.

In the transmitter 113 configured as described above, the user's voiceinput into the microphone 121 is supplied to the coder 123 and thelearning unit 125 via the A/D converter 122.

The coder 123 codes the voice data supplied from the A/D converter 122,and outputs the resulting coded voice data to the transmissioncontroller 124. The transmission controller 124 outputs the coded voicedata supplied from the coder 123 to the modem 112 (FIG. 2) astransmission data.

Meanwhile, the learning unit 125 conducts learning of quality-improvingdata based on the voice data used for past learning and new voice datainput from the A/D converter 122, and supplies the resultingquality-improving data to the storage unit 126 and stores it therein.

In the learning unit 125, quality-improving data is learned based on,not only user's new voice data, but also voice data used for pastlearning. Accordingly, as the user makes a telephone call more times,quality-improving data that allows coded voice data obtained by codingthe user's voice data to be decoded into higher-quality voice data canbe obtained.

The manager 127 then reads the quality-improving data stored in thestorage unit 126 and supplies it to the transmission controller 124according to a predetermined timing. The transmission controller 124outputs, according to a predetermined transmission timing, thequality-improving data output from the manager 127 to the modem 112(FIG. 2) as the transmission data.

As described above, the transmitter 113 transmits, not only coded voicedata as the voice for normal calling, but also the quality-improvingdata.

FIG. 4 illustrates an example of the configuration of the receiver 114shown in FIG. 2.

Reception data as a demodulated signal output from the modem 112 shownin FIG. 2 is supplied to a reception controller 131, and the receptioncontroller 131 receives the reception data. Then, when the receptiondata is coded voice data, the reception controller 131 supplies it to adecoder 132, and when the reception data is quality-improving data, thereception controller 131 supplies it to a manager 135.

The reception data contains, not only the coded voice data and thequality-improving data, but also the telephone number of a calling sideand other information. The reception controller 131 supplies suchinformation to the manager 135 and the transmitter 113 (manager 127) ifnecessary.

The decoder 132 decodes the coded voice data supplied from the receptioncontroller 132 by using the quality-improving data supplied from themanager 135 so as to obtain high-quality decoded voice data, andsupplies it to a D/A (Digital/Analog) converter 133.

The D/A converter 133 converts the digital decoded voice data outputfrom the decoder 132, and supplies the resulting analog voice signal toa speaker 134. The speaker 134 outputs voice corresponding to the voicesignal output from the D/A converter 133.

The manager 135 manages quality-improving data. More specifically, whenreceiving a call, the manager 135 receives the telephone number of acalling side from the reception controller 131, and selectsquality-improving data stored in a storage unit 136 or a default datamemory 137 based on the telephone number and supplies the selected datato the decoder 132. The manager 135 also receives the latestquality-improving data from the reception controller 131, and updatesthe data stored in the storage unit 136 by the latest quality-improvingdata.

The storage unit 136 is formed of, for example, a writable EEPROM(Electrically Erasable Programmable Read-only Memory), and stores thequality-improving data supplied from the manager 135 in association withspecifying information for specifying a calling side that has sent thequality-improving data, for example, the telephone number of the callingside.

The default memory 137 is formed of, for example, a ROM (Read-onlyMemory), and stores default quality-improving data in advance.

In the receiver 114 configured as described above, when receiving acall, the reception controller 131 receives the reception data andsupplies the telephone number of a calling side contained in thereception data to the manager 135. The manager 135 receives, forexample, the telephone number of the calling side from the receptioncontroller 131, and, when voice communication is ready to be performed,the manager 135 performs quality-improving data setting processing forsetting quality-improving data used for voice communication according tothe flowchart shown in FIG. 5.

In the quality-improving data setting processing, in step S141, themanager 135 searches the storage unit 136 for the telephone number of acalling side, and proceeds to step S142. In step S142, the manager 135determines whether the telephone number of the calling side has beenfound (whether it is stored in the storage unit 136) as a result ofsearch in step S141.

If it is determined in step S142 that the telephone number of thecalling side has been found, the process proceeds to step S143. In stepS143, the manager 135 selects the quality-improving data associated withthe telephone number of the calling side from the quality-improving datastored in the storage unit 136, and supplies the selected data to thedecoder 132 and sets it. The quality-improving data setting processingis then completed.

If it is determined in step S142 that the telephone number of thecalling side has not been found, the process proceeds to step S144. Instep S144, the manager 135 reads the default quality-improving data(hereinafter sometimes referred to as “default data”) from the defaultdata memory 137, and supplies it to the decoder 132 and sets it. Thequality-improving data setting processing is then completed.

In the embodiment shown in FIG. 5, when the telephone number of thecalling side is found, i.e., when the telephone number of the callingside is stored in the storage unit 136, the quality-improving dataassociated with the telephone number of the calling side is set in thedecoder 132. However, even when the telephone number of the calling sidehas been found, the operation unit 115 (FIG. 2) may be operated tocontrol the manager 135 to set the default data in the decoder 132.

After the quality-improving data is set in the decoder 132 as describedabove and when the supply of the coded voice data sent from a callingside to the reception controller 131 as the reception data is started,the coded voice data is supplied to the decoder 132 from the receptioncontroller 131. The decoder 132 then decodes the coded voice data sentfrom the calling side and supplied from the reception controller 131based on the quality-improving data set by the quality-improving datasetting processing shown in FIG. 5 performed after receiving a call,i.e., the quality-improving data associated with the telephone number ofthe calling side, and outputs the decoded voice data. The decoded voicedata is supplied to the speaker 134 from the decoder 132 via the D/Aconverter 133 and is output from the speaker 134.

Meanwhile, upon receiving the quality-improving data from the callingside as the reception data, the reception controller 131 supplies thequality-improving data to the manager 135. The manager 135 associatesthe quality-improving data supplied from the reception controller 131with the telephone number of the calling side that has sent thequality-improving data, and supplies the quality-improving data to thestorage unit 136 and stores it therein.

As discussed above, the quality-improving data stored in the storageunit 136 in association with the telephone number of the calling sidehas been obtained by the learning in the learning unit 125 of thetransmitter 113 (FIG. 3) based on the user's voice of the calling side,and is used for decoding the coded voice data obtained by coding theuser's voice of the calling side into high-quality decoded voice data.

Then, the decoder 132 of the receiver 114 decodes the coded voice datasent from the calling side based on the quality-improving dataassociated with the telephone number of the calling side. Accordingly,decoding processing suitable for the coded voice data sent from thecalling side can be performed (different decoding processing inaccordance with the characteristic of the user's voice corresponding tothe coded voice data), thereby obtaining high-quality decoded voicedata.

In order to obtain the high-quality decoded voice data by performingdecoding processing suitable for the coded voice data sent from thecalling side, as discussed above, the decoder 132 must performprocessing by using the quality-improving data obtained by the learningin the learning unit 125 of the transmitter 113 (FIG. 3) of the callingside. To perform this processing, it is necessary that thequality-improving data be stored in the storage unit 136 in associationwith the telephone number of the calling side.

Then, the transmitter 113 (FIG. 3) of the calling side (transmittingside) performs quality-improving data transmission processing fortransmitting the latest quality-improving data obtained by learning tothe incoming side (receiving side). The receiver 114 of the incomingside then performs quality-improving data updating processing forupdating the data in the storage unit 136 by the quality-improving datatransmitted by performing the quality-improving data transmissionprocessing at the calling side.

The quality-improving data transmission processing and thequality-improving data updating processing are described below, assumingthat the cellular telephone 101 ₁ is a calling side and the cellulartelephone 101 ₂ is an incoming side.

FIG. 6 is a flowchart illustrating a first embodiment of thequality-improving data transmission processing.

In the cellular telephone 101 ₁ at the calling side, when the useroperates the operation unit 115 (FIG. 2) to input the telephone numberof the cellular telephone 101 ₂ of the incoming side, the transmitter113 starts quality-improving data transmission processing.

More specifically, in the quality-improving data transmissionprocessing, in step S1, the transmission controller 124 of thetransmitter 113 (FIG. 3) outputs the telephone number of the cellulartelephone 101 ₂ input by operating the input unit 115 as thetransmission data, thereby calling the cellular telephone 101 ₂.

Then, the user of the cellular telephone 101 ₂ operates the operationunit 115 in response to the call from the cellular telephone 101 ₁ toset the cellular telephone 101 ₂ in the off-hook state. The process thenproceeds to step S2 in which the transmission controller 124 establishesa communication link with the cellular telephone 101 ₂, and the processproceeds to step S3.

In step S3, the manager 127 transmits updating information indicatingthe updating situation of the quality-improving data stored in thestorage unit 126 to the transmission controller 124. The transmissioncontroller 124 selects and outputs the updating information as thetransmission data, and the process proceeds to step S4.

When obtaining new quality-improving data through learning, the learningunit 125 stores the quality-improving data in the storage unit 126 inassociation with the time and date (including the month and year) atwhich the quality-improving data was obtained. As the updatinginformation, the time and date associated with the quality-improvingdata can be used.

When receiving the updating information from the cellular telephone 101₁ at the calling side, the cellular telephone 101 ₂ at the incoming sidesends a transfer request to send the latest quality-improving data ifnecessary, which is discussed below. Thus, in step S4, the manager 127determines whether a transfer request has been received from thecellular telephone 101 ₂ at the incoming side.

If it is determined in step S4 that a transfer request has not beenreceived, i.e., that a transfer request from the cellular telephone 101₂ at the incoming side has not been received by the reception controller131 of the receiver 114 of the cellular telephone 101 ₁ as the receptiondata, the process proceeds to step S6 by skipping step S5.

If it is determined in step S4 that a transfer request has beenreceived, i.e., that a transfer request from the cellular telephone 101₂ at the incoming side has been received by the reception controller 131of the receiver 114 of the cellular telephone 101 ₁ as the receptiondata, and the transfer request has been supplied to the manager 127 ofthe transmitter 113, the process proceeds to step S5. In step S5, themanager 127 reads the latest quality-improving data from the storageunit 126, and supplies it to the transmission controller 124. Also instep S5, the transmission controller 124 selects the latestquality-improving data supplied from the manager 127 and transmits it asthe transmission data. It should be noted that the quality-improvingdata is transmitted together with the time and date at which thequality-improving data was obtained through learning, i.e., togetherwith the updating information.

Then, the process proceeds from step S5 to step S6 in which the manager127 determines whether a ready message has been received from thecellular telephone 101 ₂ at the incoming side.

That is, when normal voice communication is ready, the cellulartelephone 101 ₂ at the incoming side sends a ready message indicatingthat preparations for voice communication have been finished. In stepS6, such a ready message is received from the cellular telephone 101 ₂.

If it is determined in step S6 that a ready message has not beenreceived, i.e., that a ready message from the cellular telephone 101 ₂at the incoming side has not been received by the reception controller131 of the receiver 114 of the cellular telephone 101 ₁ as the receptiondata, the process returns to step S6 to wait for a ready message.

If it is determined in step S6 that a ready message has been received,i.e., that a ready message from the cellular telephone 101 ₂ at theincoming side has been received by the reception controller 131 of thereceiver 114 of the cellular telephone 101 ₁ as the reception data, andhas been supplied to the manager 127 of the transmitter 113, the processproceeds to step S7. In step S7, the transmission controller 124 selectsthe output of the coder 123 so that voice communication can beperformed, i.e., so that the coded voice data output from the coder 123can be selected as the transmission data. The quality-improving datatransmission processing is then completed.

A description is now given, with reference to the flowchart of FIG. 7,of quality-improving data updating processing by the cellular telephone101 ₂ at the incoming side when the quality-improving data transmissionprocessing shown in FIG. 6 is performed by the cellular telephone 101 ₁at the calling side.

In the cellular telephone 101 ₂ at the incoming side when, for example,receiving a call, the receiver 114 (FIG. 4) starts quality-improvingdata updating processing.

More specifically, in the quality-improving data updating processing, instep S11, the reception controller 131 determines whether the cellulartelephone 101 ₂ is in the off-hook state by the user's operation on theoperation unit 115. If it is determined that the cellular telephone 101₂ is not in the off-hook state, the process returns to step S11.

If it is determined in step S11 that the cellular telephone 101 ₂ is inthe off-hook state, the process proceeds to step S12 in which thereception controller 131 establishes a communication link with thecellular telephone 101 ₁ at the calling side. The process then proceedsto step S13.

In step S13, the updating information is sent from the cellulartelephone 101 ₁ at the calling side, as discussed in step S3 of FIG. 6.The reception controller 131 then receives the reception data includingthis updating information and supplies it to the manager 135.

In step S14, the manager 135 checks the updating information receivedfrom the cellular telephone 101 ₁ at the calling side to determinewhether the quality-improving data concerning the user of the cellulartelephone 101 ₁ at the calling side is stored in the storage unit 136.

More specifically, in communication in the transmission system shown inFIG. 1, when the cellular telephone 101 ₂ (or 101 ₁) at the incomingside is called by the cellular telephone 101 ₁ (or 101 ₂) at the callingside, the telephone number of the cellular telephone 101 ₁ istransmitted, and this telephone number is received by the receptioncontroller 131 as the reception data, and is supplied to the manager135. The manager 135 checks whether the quality-improving dataassociated with the telephone number of the cellular telephone 101 ₁ atthe calling side is already stored in the storage unit 136, if it isstored, the manager 135 also checks whether the stored quality-improvingdata is the latest data, thereby executing the determination processingin step S14.

If it is determined in step S14 that the latest quality-improving dataconcerning the user of the cellular telephone 101 ₁ at the calling sideis stored in the storage unit 136, i.e., that the quality-improving dataassociated with the telephone number of the cellular telephone 101 ₁ atthe calling side is stored in the storage unit 136 and the time and daterepresented by the updating information associated with thequality-improving data coincides with the time and date represented bythe updating information received in step S13, it is not necessary toupdate the quality-improving data associated with the telephone numberof the cellular telephone 101 ₁ stored in the storage unit 136, and theprocess proceeds to step S19 by skipping steps S15 through S18.

As discussed in step S5 of FIG. 6, the cellular telephone 101 ₁ at thecalling side transmits the quality-improving data together with theupdating information. When storing the quality-improving data from thecellular telephone 101 ₁ in the storage unit 136, the manager 135 of thecellular telephone 101 ₂ at the incoming side stores thequality-improving data in association with the updating information,which is sent together with the quality-improving data. In step S14, itis determined whether the quality-improving data stored in the storageunit 136 is the latest data by comparing the updating informationassociated with the quality-improving data stored in the storage unit136 with the updating information received in step S13.

If it is determined in step S14 that the latest quality-improving dataconcerning the user of the cellular telephone 101 ₁ at the calling sideis not stored in the storage unit 136, i.e., that the quality-improvingdata associated with the telephone number of the cellular telephone 101₁ is not stored in the storage unit 136, or even if it is stored, if itis determined that the time and date represented by the updatinginformation associated with the quality-improving data is older thanthat represented by the updating information received in step S13, theprocess proceeds to step S15. In step S15, the manager 135 determineswhether the updating of the quality-improving data by the latestquality-improving data is prohibited.

That is, the user can operate the operation unit 115 to set the manager135 such that the quality-improving data should not be updated. Themanager 135 performs the determination processing in step S15 based onthe setting of whether the updating of the quality-improving data isperformed.

If it is determined in step S15 that the updating of thequality-improving data by the latest quality-improving data isprohibited, i.e., that the manager 135 is set such that the updating ofthe quality-improving data should not be updated, the process proceedsto step S19 by skipping steps S16 through S18.

If it is determined in step S15 that the updating of thequality-improving data by the latest quality-improving data is notprohibited, i.e., that the manager 135 is not set such that the updatingof the quality-improving data is prohibited, the process proceeds tostep S16. In step S16, the manager 135 sends a transfer request to sendthe latest quality-improving data to the transmission controller 124 ofthe transmitter 113 (FIG. 3) of the cellular telephone 101 ₁ at thecalling side. In response to the transfer request, the transmissioncontroller 124 of the transmitter 113 sends a transfer request as thetransmission data.

As discussed with reference to steps S4 and S5 of FIG. 6, the cellulartelephone 101 ₁ that has received the transfer request sends the latestquality-improving data together with the updating information.Accordingly, in step S17, the reception controller 131 receives thereception data including the latest quality-improving data and theupdating information, and supplies it to the manager 135.

In step S18, the manager 135 stores the latest quality-improving dataobtained in step S17 in association with the telephone number of thecellular telephone 101 ₁, which was received when being called, and theupdating information, which was sent together with the quality-improvingdata, thereby updating the content of the storage unit 136.

That is, when the quality-improving data associated with the telephonenumber of the cellular telephone 101 ₁ at the calling side is not storedin the storage unit 136, the manager 135 stores the latestquality-improving data obtained in step S17, the telephone number of thecellular telephone 101 ₁ received when being called, and the updatinginformation (updating information of the latest quality-improving data)in the storage unit 136.

When the quality-improving data (which is not the latest data)associated with the telephone number of the cellular telephone 101 ₁ isstored in the storage unit 136, the manager 135 overwrites the storedquality-improving data and the telephone number and the updatinginformation associated with the quality-improving data by the latestquality-improving data obtained in step S17, the telephone number of thecellular telephone 101 ₁ received when being called, and the updatinginformation.

The process proceeds to step S19 in which the manager 135 controls thetransmission controller 124 of the transmitter 113 to send a readymessage as the transmission data indicating that preparations for voicecommunication have been finished, and the process then proceeds to stepS20.

In step S20, the reception controller 131 outputs the coded voice datacontained in the reception data to the decoder 132 so that voicecommunication can be performed. The quality-improving data updatingprocessing is then completed.

FIG. 8 is a flowchart illustrating a second embodiment of thequality-improving data transmission processing.

As in FIG. 6, in the cellular telephone 101 ₁ at the calling side, whenthe user operates the operation unit 115 (FIG. 2) to input the telephonenumber of the cellular telephone 101 ₂ at the incoming side, thetransmitter 113 starts quality-improving data transmission processing.

More specifically, in the quality-improving data transmissionprocessing, in step S31, the transmission controller 124 of thetransmitter 113 (FIG. 3) outputs, as the transmission data, thetelephone number of the cellular telephone 101 ₂ input by the operationon the operation unit 115, thereby calling the cellular telephone 101 ₂.

Then, the user of the cellular telephone 101 ₂ operates the operationunit 115 in response to the call from the cellular telephone 101 ₁ so asto set the cellular telephone 101 ₂ in the off-hook state. Then, theprocess proceeds to step S32 in which the transmission controller 124establishes a communication link with the cellular telephone 101 ₂ atthe incoming side, and the process proceeds to step S33.

In step S33, the manager 127 reads the latest quality-improving datafrom the storage unit 126 and supplies it to the transmission controller124. Also in step S33, the transmission controller 124 selects thelatest quality-improving data supplied from the manager 127 andtransmits it as the transmission data. As stated above, thequality-improving data is sent together with the updating informationindicating the time and date at which the quality-improving data wasobtained through learning.

Then, the process proceeds from step S33 to step S34, and as in step S6of FIG. 6, the manager 127 determines in step S34 whether a readymessage has been received from the cellular telephone 101 ₂ at theincoming side. If it is determined that a ready message has not beenreceived, the process returns to step S34 to wait for a ready message.

If it is determined in step S34 that a ready message has been received,the process proceeds to step S35. As in step S7 of FIG. 6, voicecommunication can be performed, and the transmission controller 124completes the quality-improving data transmission processing.

A description is now given, with reference to the flowchart of FIG. 9,of quality-improving data updating processing by the cellular telephone101 ₂ at the incoming side when the quality-improving data transmissionprocessing shown in FIG. 8 is performed by the cellular telephone 101 ₁at the calling side.

In the cellular telephone 101 ₂ at the incoming side, as in FIG. 7, whena call is received, the receiver 114 (FIG. 4) starts quality-improvingdata updating processing. In step S41, the reception controller 131determines whether the user has operated the operation unit 115 to setthe cellular telephone 101 ₂ in the off-hook state. If the cellulartelephone 101 ₂ is not in the off-hook state, the process returns tostep S41.

If it is determined in step S41 that the cellular telephone 101 ₂ is inthe off-hook state, the process proceeds to step S42 in which acommunication link is established, as in step S12 of FIG. 7. The processthen proceeds to step S43 in which the reception controller 131 receivesreception data containing the latest quality-improving data sent fromthe cellular telephone 101 ₁ at the calling side, and supplies thereception data to the manager 135.

That is, as stated above, in the quality-improving data transmissionprocessing show in FIG. 8, in step S33, the cellular telephone 101 ₁sends the latest quality-improving data together with the updatinginformation. Accordingly, in step S43, the quality-improving data andthe updating information are received.

Thereafter, the process proceeds to step S44. As in step S14 of FIG. 7,in step S44, the manager 135 checks the updating information receivedfrom the cellular telephone 101 ₁ to determine whether the latestquality-improving data concerning the user of the cellular telephone 101₁ at the calling side is stored in the storage unit 136.

If it is determined in step S44 that the latest quality-improving dataconcerning the user of the cellular telephone 101 ₁ at the calling sideis stored in the storage unit 136, the process proceeds to step S45 inwhich the manager 135 discards the quality-improving data and theupdating information received in step S43. The process then proceeds tostep S47.

If it is determined in step S44 that the latest quality-improving dataconcerning the user of the cellular telephone 101 ₁ at the calling sideis not stored in the storage unit 136, the process proceeds to step S46.In step S46, as in step S18 of FIG. 7, the manager 135 stores the latestquality-improving data obtained in step S43 in the storage unit 136 inassociation with the telephone number of the cellular telephone 101 ₁,which was received when being called, and the updating information,which was sent together with the quality-improving data, therebyupdating the content of the storage unit 136.

Then, in step S47, the manager 135 controls the transmission controller124 of the transmitter 113 to send a ready message indicating thatpreparations for voice communication have been finished as thetransmission data, and the process proceeds to step S48.

In step S48, the reception controller 131 outputs the coded voice datacontained in the reception data to the decoder 132 so that voicecommunication can be performed. The quality-improving data updatingprocessing is then completed.

In the quality-improving data updating processing shown in FIG. 9, inthe cellular telephone 101 ₂ at the incoming side, the content of thestorage unit 136 is reliably updated if the latest quality-improvingdata concerning the user of the cellular telephone 101 ₁ at the callingside is not stored.

FIG. 10 is a flowchart illustrating a third embodiment of thequality-improving data transmission processing.

In the cellular telephone 101 ₁ at the calling side, when the useroperates the operation unit 115 (FIG. 2) to input the telephone numberof the cellular telephone 101 ₂ at the incoming side, the transmitter113 (FIG. 3) starts quality-improving data transmission processing. Instep S51, the manager 127 searches for a transmission log of thequality-improving data transmitted to the cellular telephone 101 ₂corresponding to the telephone number input by the operation on theoperation unit 115.

More specifically, in the embodiment shown in FIG. 10, when sendingquality-improving data to the incoming side in step S58, which isdiscussed below, the manager 127 stores the telephone number of theincoming side and the updating information of the quality-improving datain a built-in memory (not shown) as the transmission log of thequality-improving data. In step S51, from such stored transmission log,the transmission log in which the telephone number of the incoming sideinput by the operation on the operation unit 115 is indicated issearched for.

Then, the manager 127 determines in step S52 based on the search resultin step S51 whether the latest quality-improving data has already beensent to the incoming side.

If it is determined in step S52 that the latest quality-improving datahas not been sent to the incoming side, i.e., that the transmission logdoes not indicate the telephone number of the incoming side, or even ifthe telephone number is indicated in the transmission log, the updatinginformation indicated in the transmission log does not coincide with theupdating information of the latest quality-improving data, the processproceeds to step S53. In step S53, the manager 127 turns ON a transferflag indicating whether to send the latest quality-improving data, andthe process proceeds to step S55.

If it is determined in step S52 that the latest quality-improving datahas been sent to the incoming side, i.e., that the telephone number ofthe incoming side is indicated in the transmission log, and that theupdating information indicated in the transmission log coincides withthe latest updating information, the process proceeds to step S54. Instep S54, the manager 127 turns OFF the transfer flag and proceeds tostep S55.

In step S55, the transmission controller 124 outputs the telephonenumber of the cellular telephone 101 ₂ at the incoming side input by theoperation on the operation unit 115 as the transmission data, therebycalling the cellular telephone 101 ₂.

Then, when the user of the cellular telephone 101 ₂ operates theoperation unit 115 in response to a call from the cellular telephone 101₁ so as to set the cellular telephone 101 ₂ in the off-hook state, theprocess proceeds to step S56 in which the transmission controller 14establishes a communication link with the cellular telephone 101 ₂ atthe incoming side. The process then proceeds to step S57.

In step S57, the manager 127 determines whether the transfer flag is ON,and if the manager 127 determines that the transfer flag is not ON,i.e., that the transfer flag is OFF, the process proceeds to step S59 byskipping step S58.

If it is determined in step S57 that the transfer flag is ON, theprocess proceeds to step S58 in which the manager 127 reads thequality-improving data and updating information from the storage unit126, and supplies them to the transmission controller 124. Also in stepS58, the transmission controller 124 selects the latestquality-improving data and updating information supplied from themanager 127 and sends them as the transmission data. In step S58, themanager 127 stores the telephone number (telephone number of theincoming side) of the cellular telephone 101 ₂ to which the latestquality-improving data and the updating information are sent as thetransmission log, and the process proceeds to step S59.

In step S59, as in step S6 of FIG. 6, the manager 127 determines whethera ready message has been received from the cellular telephone 101 ₂ atthe incoming side. If the manager 127 determines that a ready messagehas not been received, the process returns to step S59 to wait for aready message.

If it is determined in step S59 that a ready message has been received,the process proceeds to step S60 in which voice communication can beperformed, and the transmission controller 124 completes thequality-improving data transmission processing.

A description is now given, with reference to the flowchart of FIG. 11,of quality-improving data updating processing by the cellular telephone101 ₂ at the incoming side when the quality-improving data transmissionprocessing shown in FIG. 10 is performed by the cellular telephone 101 ₁at the calling side.

In the cellular telephone 101 ₂ at the incoming side, when, for example,a call is received, the receiver 114 (FIG. 4) starts quality-improvingdata updating processing.

More specifically, in the quality-improving data updating processing, instep S71, the reception controller 131 determines whether the useroperates the operation unit 115 to set the cellular telephone 101 ₂ inthe off-hook state. If it is determined that the cellular telephone 101₂ is not in the off-hook state, the process returns to step S71.

If it is determined in step S71 that the cellular telephone 101 ₂ is inthe off-hook state, the process proceeds to step S72 in which thereception controller 131 establishes a communication link with thecellular telephone 101 ₁ at the calling side, and the process proceedsto step S73.

The reception controller 131 determines in step S73 whether thequality-improving data has been received, and if it is found that thequality-improving data has not been received, the process proceeds tostep S76 by skipping steps S74 and S75.

If it is determined in step S73 that the quality-improving data has beenreceived, i.e., that the latest quality-improving data and the updatinginformation have been sent from the cellular telephone 101 ₁ at thecalling side in step S58 of FIG. 10, the process proceeds to step S74.In step S74, the reception controller 131 receives the reception dataincluding the latest quality-improving data and the updatinginformation, and supplies it to the manager 135.

In step S75, as in step S18 of FIG. 7, the manager 135 stores the latestquality-improving data obtained in step S74 in the storage unit 136 inassociation with the telephone number of the cellular telephone 101 ₁ atthe calling side, which was received when being called, and the updatinginformation, which was sent together with the quality-improving data,thereby updating the content of the storage unit 136.

Then, the process proceeds to step S76 in which the manager 135 controlsthe transmission controller 124 of the transmitter 113 to send a readymessage as the transmission data indicating that preparations for voicecommunication have been finished. The process then proceeds to step S77.

In step S77, voice communication can be performed, and the receptioncontroller 131 completes the quality-improving data updating processing.

The quality-improving data transmission processing or thequality-improving data updating processing described with reference toone of FIGS. 6 through 11 is performed when a telephone call is made orwhen a call is received, respectively. However, the quality-improvingdata transmission processing or the quality-improving data updatingprocessing may be performed at another time.

FIG. 12 is a flowchart illustrating quality-improving data transmissionprocessing performed by the transmitter 113 (FIG. 3) in the cellulartelephone 101 at the calling side after obtaining the latestquality-improving data through learning.

In step S81, the manager 127 disposes the latest quality-improving data,updating information thereof, and the telephone number of the cellulartelephone 101 ₁ stored in the storage unit 126 as an email message, andthe process proceeds to step S82.

In step S82, the manager 127 sets a subject (subject name) indicatingthat the email (hereinafter sometimes referred to as the“quality-improving-data transmission email”) contains the latestquality-improving data as the subject of the email in which the latestquality-updating data, updating information thereof, and the telephonenumber of the cellular telephone 101 ₁ are disposed as a message. Thatis, the manager 127 sets, for example, an “updating notice”, as thesubject of the quality-improving-data transmission email.

Then, the process proceeds to step S83 in which the manager 127 sets anemail address, which is a destination for the email, in thequality-improving-data transmission email. In this case, for example,the email addresses of communicating parties sent and received in thepast have been stored, and as the email address, which is thedestination of the quality-improving-data transmission email, all theemail addresses stored or email addresses specified by the user can beset.

The process then proceeds to step S84 in which the manager 127 suppliesthe quality-improving-data transmission email to the transmissioncontroller 124, and allows it to send the email as transmission data.The quality-improving data transmission processing is then completed.

The quality-improving-data transmission email sent as described above isreceived by the terminal of the email address set as the destination ofthe quality-improving-data transmission email via a predeterminedserver.

A description is now given, with reference to the flowchart of FIG. 13,of quality-improving data updating processing performed by the cellulartelephone 101 ₂ at the incoming side when the quality-improving datatransmission processing shown in FIG. 12 is performed by the cellulartelephone 101 ₁ at the calling side.

In the cellular telephone 101 ₂ at the incoming side, the reception ofemail is requested to a predetermined mail server, for example, at apredetermined time or in response to a user's instruction. In responseto this request, the quality-improving data updating processing isperformed in the receiver 114 (FIG. 4).

More specifically, in step S91, email sent from the mail server inresponse to the above-described request is received by the receptioncontroller 131 as reception data, and is supplied to the manager 135.

The manager 135 determines in step S92 whether the subject of the emailsupplied from the reception controller 131 is an “updating notice”indicating that the email contains the latest quality-improving data. Ifit is determined that the subject of the email is not an “updatingnotice”, i.e., that the email is not quality-improving-data transmissionemail, the quality-improving data updating processing is terminated.

If it is determined in step S92 that the email subject is an “updatingnotice”, i.e., that the email is quality-improving-data transmissionemail, the process proceeds to step S93. In step S93, the manager 135obtains the latest quality-improving data, the updating information, andthe telephone number of the calling side disposed as thequality-improving-data transmission email message, and the processproceeds to step S94.

In step S94, as in step S14 of FIG. 7, the manager 135 determines bychecking the updating information and the telephone number at thecalling side obtained from the quality-improving-data transmission emailwhether the latest quality-improving data concerning the user of thecellular telephone 101 ₁ at the calling side is stored in the storageunit 136.

If it is determined in step S94 that the latest quality-improving dataconcerning the user of the cellular telephone 101 ₁ at the calling isstored in the storage unit 136, the process proceeds to step S95. Instep S95, the manager 135 discards the quality-improving data, theupdating information, and the telephone number obtained in step S93, andcompletes the quality-improving data updating processing.

If it is determined in step S94 that the latest quality-improving dataconcerning the user of the cellular telephone 101 ₁ at the calling sideis not stored in the storage unit 136, the process proceeds to step S96.In step S96, as in step S18 of FIG. 7, the manager 135 stores thequality-improving data, the updating information, and the telephonenumber of the cellular telephone 101 ₁ at the calling side obtained instep S93 in the storage unit 136, thereby updating the content of thestorage unit 136. The quality-improving data updating processing is thencompleted.

FIG. 14 illustrates an example of the configuration of the learning unit125 of the transmitter 113 shown in FIG. 3.

In the embodiment shown in FIG. 14, the learning unit 125 learns, asquality-improving data, tap coefficients used for classificationadaptive processing which was previously proposed by the same applicantof the present application.

Classification processing is formed of classification processing andadaptive processing. Data is classified based on the characteristic ofthe data by the classification processing, and adaptive processing isperformed on each class.

The adaptive processing is described below by taking an example in whichvoice at a low quality (hereinafter sometimes referred to as a “lowquality voice”) is converted into voice at a high quality (hereinaftersometimes referred to as a “high quality voice”).

In this case, in the adaptive processing, by a linear combination ofvoice samples forming the low quality voice (hereinafter sometimesreferred to as “low quality voice samples”) and predetermined tapcoefficients, a predictive value of a voice sample of a high qualityvoice improved from the low quality voice is determined, therebyobtaining a high quality voice improved from the low quality voice.

More specifically, it is now considered that certain high quality voicedata is set as supervisor data and low voice quality data obtained bydecreasing the quality of the high quality voice is set as learner data,and a predictive value E[y] of a voice sample y forming the high qualityvoice (hereinafter sometimes referred to as a “high quality voicesample”) is determined by a linear combination model defined by a linearcombination of a set of some low quality voice samples (voice samplesforming the low quality voice) x₁, x₂, . . . , and predetermined tapcoefficients w₁, w₂, . . . . In this case, the predictive value E[y] canbe expressed by the following equation.E[y]=w ₁ x ₁ +w ₂ x ₂+ . . .   (1)

To generalize equation (1), a matrix W consisting of a set of tapcoefficients w_(j), a matrix X consisting of a set of learner datax_(ij), and a matrix Y′ formed of a set of predictive values E[y_(j)]are defined as follows.

[Mathematical Equation 1]

$X = \begin{bmatrix}X_{11} & X_{12} & \ldots & X_{1J} \\X_{21} & X_{22} & \ldots & X_{2J} \\\ldots & \ldots & \ldots & \ldots \\X_{I1} & X_{I2} & \ldots & X_{IJ}\end{bmatrix}$ ${W = \begin{bmatrix}w_{1} \\w_{2} \\\ldots \\w_{J}\end{bmatrix}},{Y^{\prime} = \begin{bmatrix}{E\left\lbrack y_{1} \right\rbrack} \\{E\left\lbrack y_{2} \right\rbrack} \\\ldots \\{E\left\lbrack y_{J} \right\rbrack}\end{bmatrix}}$Then, the following observation equation can hold true.XW=Y′  (2)The component x_(ij) of the matrix X indicates the j-th learner data ofthe i-th set of learner data (set of learner data used for predictingthe i-th supervisor data y_(i)), and the component w_(j) of the matrix Windicates the tap coefficient to be multiplied with the j-th learnerdata in the set of learner data. Also, y_(i) indicates the i-thsupervisor data, and thus, E[y_(i)] represents the predictive value ofthe i-th supervisor data. In y at the left side in equation (1), thesuffix i of the component y_(i) of the matrix Y is omitted, and in x₁,x₂, . . . at the right side in equation (1), the suffix i of thecomponent x_(ij) of the matrix X is also omitted.

It is now considered that the predictive value E[y] close to the highquality voice sample y is determined by applying the method of leastsquares to the observation equation (2). In this case, when the matrix Econsisting of the residuals (errors with respect to the true values y) ebetween the matrix Y consisting of a set of true values y of the highquality voice samples serving as supervisor data and the predictivevalues E[y] of the high quality voice samples y can be defined asfollows.

[Mathematical Equation 2]

${E = \begin{bmatrix}e_{1} \\e_{2} \\\ldots \\e_{I}\end{bmatrix}},{Y = \begin{bmatrix}y_{1} \\y_{2} \\\ldots \\y_{I}\end{bmatrix}}$Then, the following residual equation can hold true from equation (2).XW=Y+E   (3)

In this case, the tap coefficient w_(j) for determining the predictivevalue E[y] close to the high quality voice sample y can be determined byminimizing the following square error.

[Mathematical Equation 3]

$\sum\limits_{i = 1}^{I}{\mathbb{e}}_{i}^{2}$

Accordingly, the tap coefficient when the result of differentiating theabove-described square error with respect to the tap coefficient w_(j)becomes 0, i.e., the tap coefficient w_(j) satisfying the followingequation is the optimal value for determining the predictive value E[y]close to the high quality voice sample y.

[Mathematical Equation 4]

$\begin{matrix}{{{e_{1}\frac{\partial e_{1}}{\partial w_{j}}} + {e_{2}\frac{\partial e_{2}}{\partial w_{j}}} + \ldots + {e_{I}\frac{\partial e_{I}}{\partial w_{j}}}} = {0\mspace{14mu}\left( {{j = 1},2,\cdots\mspace{11mu},J} \right)}} & (4)\end{matrix}$

Then, by differentiating equation (3) with respect to the tapcoefficient w_(j), the following equation can hold true.

[Mathematical Equation 5]

$\begin{matrix}{{\frac{\partial e_{i}}{\partial w_{1}} = x_{i1}},{\frac{\partial e_{i}}{\partial w_{2}} = x_{i2}},\cdots\mspace{11mu},{\frac{\partial e_{i}}{\partial w_{J}} = x_{iJ}},\left( {{i = 1},2,\cdots\mspace{11mu},I} \right)} & (5)\end{matrix}$

Equation (6) can be obtained from equations (4) and (5).

[Mathematical Equation 6]

$\begin{matrix}{{{\sum\limits_{i = 1}^{I}{e_{i}x_{i1}}} = 0},{{\sum\limits_{i = 1}^{I}{e_{i}x_{i2}}} = 0},{{\cdots\mspace{11mu}{\sum\limits_{i = 1}^{I}{e_{i}x_{iJ}}}} = 0}} & (6)\end{matrix}$

By considering the relationship among the learner data x_(ij), the tapcoefficient w_(j), the supervisor data y_(i), and the residual e_(i) inthe residual equation in equation (3), the following normal equationscan be obtained from equation (6).

[Mathematical Equation 7]

$\begin{matrix}\left\{ \begin{matrix}{{{\left( {\sum\limits_{i = 1}^{I}{x_{i1}x_{i1}}} \right)w_{1}} + {\left( {\sum\limits_{i = 1}^{I}{x_{i1}x_{i2}}} \right)w_{2}} + \cdots + {\left( {\sum\limits_{i = 1}^{I}{x_{i1}x_{iJ}}} \right)w_{J}}} = \left( {\sum\limits_{i = 1}^{I}{x_{i1}y_{i}}} \right)} \\{{{\left( {\sum\limits_{i = 1}^{I}{x_{i2}x_{i1}}} \right)w_{1}} + {\left( {\sum\limits_{i = 1}^{I}{x_{i2}x_{i2}}} \right)w_{2}} + \cdots + {\left( {\sum\limits_{i = 1}^{I}{x_{i2}x_{iJ}}} \right)w_{J}}} = \left( {\sum\limits_{i = 1}^{I}{x_{i2}y_{i}}} \right)} \\\ldots \\{{{\left( {\sum\limits_{i = 1}^{I}{x_{iJ}x_{i1}}} \right)w_{1}} + {\left( {\sum\limits_{i = 1}^{I}{x_{iJ}x_{i2}}} \right)w_{2}} + \cdots + {\left( {\sum\limits_{i = 1}^{I}{x_{iJ}x_{iJ}}} \right)w_{J}}} = \left( {\sum\limits_{i = 1}^{I}{x_{iJ}y_{i}}} \right)}\end{matrix} \right. & (7)\end{matrix}$

It is now assumed that the matrix (covariance matrix) A and the vector vare defined as follows.

[Mathematical Equation 8]

$A = \begin{pmatrix}{\sum\limits_{i = 1}^{I}{x_{i1}x_{i1}}} & {\sum\limits_{i = 1}^{I}{x_{i1}x_{i2}}} & \cdots & {\sum\limits_{i = 1}^{I}{x_{i1}x_{iJ}}} \\{\sum\limits_{i = 1}^{I}{x_{i2}x_{i1}}} & {\sum\limits_{i = 1}^{I}{x_{i2}x_{i2}}} & \cdots & {\sum\limits_{i = 1}^{I}{x_{i2}x_{iJ}}} \\\; & \; & \cdots & \; \\{\sum\limits_{i = 1}^{I}{x_{iJ}x_{i1}}} & {\sum\limits_{i = 1}^{I}{x_{iJ}x_{i2}}} & \cdots & {\sum\limits_{i = 1}^{I}{x_{iJ}x_{iJ}}}\end{pmatrix}$ $v = \begin{pmatrix}{\sum\limits_{i = 1}^{I}{x_{i1}y_{i}}} \\{\sum\limits_{i = 1}^{I}{x_{i2}y_{i}}} \\{\vdots\;} \\{\sum\limits_{i = 1}^{I}{x_{iJ}y_{i}}}\end{pmatrix}$

In this case, when the vector W is defined as in equation 1, the normalequations in equation (7) can be expressed by equation (8).AW=v   (8)

By preparing a certain number of sets of learner data x_(ij) and sets ofsupervisor data y_(i), the same number of normal equations (7) as thenumber j of tap coefficient w_(j) to be determined can be established.Accordingly, by solving equation (8) with respect to the vector W (tosolve equation (8), the matrix A in equation (8) should be a nonsingularmatrix), the optimal tap coefficient w_(j) can be determined. To solveequation (8), for example, a sweeping out method (Gauss-Jordanelimination) can be used.

As discussed above, learning for determining the optimal tap coefficientw_(j) by using the learner data and the supervisor data has beenconducted, and by using the tap coefficient w_(j), the predictive valueE[y] close to the supervisor data y is determined by equation (1). Thisprocessing is adaptive processing.

The adaptive processing is different from mere interpolation in thatcomponents which are not contained in the low quality voice but arecontained in the high quality voice can be reproduced. That is, by onlyobserving equation (1), the adaptive processing appears to be the sameas interpolation processing using an interpolation filter. However,since the tap coefficient w equivalent to the tap coefficient of theinterpolation filter is determined by using the supervisor data y,through so-called learning, components contained in the high qualityvoice can be reproduced. From this point of view, the adaptiveprocessing is processing for creating voice.

Although in the above-described example the predictive value of the highquality voice is determined by linear prediction, it may be predicted bytwo or higher-order equations.

The learning unit 125 shown in FIG. 14 conducts learning for tapcoefficients used for the above-described classification adaptiveprocessing as quality-improving data.

That is, voice data output from the A/D converter 122 (FIG. 3) issupplied to a buffer 141 as learning data. The buffer 141 temporarilystores the voice data as supervisor data, which serves as a supervisorfor learning.

A learner data generator 142 generates learner data, which serves as alearner for learning, from the voice data serving as the supervisor datastored in the buffer 141.

More specifically, the learner data generator 142 is formed of anencoder 142E and a decoder 142D. The encoder 142E, which is similarlyconfigured to the coder 123 of the transmitter 113 (FIG. 3), codes thesupervisor data stored in the buffer 141 in a manner similar to thecoder 123, and outputs the coded voice data. The decoder 142D, which issimilarly configured to a decoder 161 shown in FIG. 16, which isdiscussed below, decodes the coded voice data according to a decodingmethod corresponding to the coding method used in the coder 123, andoutputs the resulting decoded voice data as learner data.

In this example, the learner data is generated by coding the supervisordata into the coded voice data, as in the coder 123, and by decoding thecoded voice data. Alternatively, the learner data may be generated bydecreasing the quality of the supervisor voice data by filtering it witha low-pass filter.

As the encoder 142E forming the learner data generator 142, the coder123 may be used, and as the decoder 142D, the decoder 161 shown in FIG.16, which is described below, may be used.

A learner data memory 143 temporarily stores the learner data outputfrom the decoder 142D of the learner data generator 142.

A predictive tap generator 144 sequentially selects voice samples of thesupervisor data stored in the buffer 141, and reads some voice samplesof the learner data used for predicting the selected data from thelearner data memory 143, thereby generating predictive taps (taps fordetermining the predictive value of the selected data). The predictivetaps are supplied to an adder 147 from the predictive tap generator 144.

A class tap generator 145 reads some voice samples of the learner dataused for classifying the selected data from the learner data memory 143so as to generate class taps (taps used for classification). The classtaps are supplied to a classification unit 146 from the class tapgenerator 145.

As the voice samples forming the predictive taps and the class taps, forexample, voice samples which are positioned temporally close to thevoice samples of the learner data corresponding to the voice samples ofthe supervisor data as the selected data can be used.

As the voice samples forming the predictive taps and the class taps, thesame voice samples may be used, or different voice samples may be used.

The classification unit 146 classifies the selected data based on theclass taps supplied from the class tap generator 145, and outputs aclass code representing the resulting class to the adder 147.

As the classification method, for example, ADRC (Adaptive Dynamic RangeCoding), may be used.

In the ADRC method, voice samples forming the class taps are subjectedto ADRC processing, and the classes of the selected data are determinedbased on the resulting ADRC code.

In K-bit ADRC, for example, the maximum MAX and the minimum MIN of thevoice samples forming the class taps are detected, and DR=MAX-MIN is setas a local dynamic range of the set, and based on this dynamic range DR,the voice samples forming the class taps are re-quantized into K bits.More specifically, the minimum MIN is subtracted from each voice sampleforming the class taps, and the resulting value is divided (quantized)with DR/2K. Then, the K-bit voice samples forming the class taps arearranged as a bit string in a predetermined order, and the bit string isthen output as ADRC code. Accordingly, when the class taps are subjectedto one-bit ADRC processing, the minimum MIN is subtracted from eachvoice sample forming the class taps, and then, the resulting value isdivided with the average of the maximum MAX and the minimum MIN so thateach voice sample is formed into one bit (binarized). Then, the one-bitvoice samples are arranged in predetermined bit string, and the bitstring is output as ADRC code.

The classification unit 146 may output the level distribution pattern ofthe voice samples forming the class taps as a class code. In this case,however, if the class taps are formed of N voice samples and K bits areassigned to each voice sample, the number of class codes output from theclassification unit 146 becomes (2^(N))K, which is an enormous numberexponentially proportional to the number K of bits of the voice samples.

Accordingly, it is preferable that, in the classification unit 146, theamount of class tap information be compressed by the above-describedADRC processing or vector quantization before being classified.

Based on each of the classes supplied from the classification unit 146,the adder 147 reads the voice samples of the supervisor data serving asthe selected data from the buffer 141, and performs summation for thelearner data forming the predictive taps supplied from the predictivetap generator 144 and for the supervisor data as the selected data byusing the content of an initial component storage unit 148 and a usercomponent storage unit 149 if necessary.

That is, basically, the adder 147 performs computation corresponding tothe multiplication of the learner data items (x_(in)x_(im)) and thesummation (Σ), which are components of the matrix A in equation (8), foreach class corresponding to a class code supplied from theclassification unit 146 by using the predictive taps (learner data).

The adder 147 also performs computation corresponding to themultiplication of the learner data and the supervisor data (x_(in)y_(i))and the summation (Σ), which are components of the vector v in equation(8), for each class corresponding to a class code supplied from theclassification unit 146 by using the predictive taps (learner data) andthe selected data (supervisor data).

The initial component storage unit 148, which is formed of, for example,a ROM, stores the components of the matrix A and the components of thevector v in equation (8), which are obtained by conducting learning byusing prepared voice data of many unspecified speakers as learning data,for each class.

The user component storage unit 149, which is formed of, for example, anEEPROM, stores the components of the matrix A and the components of thevector v in equation (8), which were obtained by the pervious learningin the adder 147, for each class.

When conducting learning by using new voice data, the adder 147 readsthe components of the matrix A and the components of the vector v inequation (8), which were obtained by the previous learning, from theuser component storage unit 149, and adds the corresponding componentsx_(in)x_(im) and x_(in)y_(i) calculated by using the supervisor datay_(i) and the learner data x_(in)(x_(im)) obtained from the new voicedata to the components of the matrix A and the vector v (performsaddition represented by the summation in the matrix A and the vector v),thereby establishing normal equations in equation (8).

Accordingly, in the adder 147, the normal equations in equation (8) canbe established, not only based on new voice data, but also based on thevoice data used for the previous learning.

When learning is conducted in the learning unit 125 for the first time,or when learning is conducted immediately after clearing the usercomponent storage unit 149, components of the matrix A and components ofthe vector v obtained by the previous learning are not stored in theuser component storage unit 149. Accordingly, normal equations inequation (8) are established based on only voice data input by the user.

In this case, due to an insufficient sample number of input voice data,a required number of normal equations for determining tap coefficientsmay not be obtained for some classes.

Accordingly, the initial component storage unit 148 stores thecomponents of the matrix A and the components of the vector v inequation (8) for each class, which are obtained by conducting learningfor prepared voice data of an unspecified, sufficient number of speakersas learning data. The learning unit 125 then establishes normalequations in equation (8) by using the components of the matrix A andthe vector v stored in the initial component storage unit 148 and thecomponents of the matrix A and the vector v obtained from the inputvoice data. Then, a required number of normal equations for determiningtap coefficients can always be obtained for all classes.

When determining new components of the matrix A and new components ofthe vector v for each class by using the components of the matrix A andthe vector v obtained from the new voice data and the component of thematrix A and the vector v stored in the user component storage unit 149(or the initial component storage unit 148), the adder 147 suppliesthese components to the user component storage unit 149 and stores themby overwriting the previous components by the new components.

The adder 147 then supplies the normal equations in equation (8) formedof the new components of the matrix A and the vector v for each class toa tap-coefficient determining unit 150.

Then, the tap-coefficient determining unit 150 solves the normalequations for each class supplied from the adder 147 so as to determinea tap coefficient for each class, and supplies the tap coefficients tothe storage unit 126 as quality-improving data together with updatinginformation thereof, and stores them by overwriting the old data by thenew data.

A description is now given, with reference to the flowchart of FIG. 15,of learning processing for tap coefficients as quality-improving dataperformed by the learning unit 125 shown in FIG. 14.

Voice data obtained from, for example, the user's voice when making atelephone call or voice issued at a certain time is supplied to thebuffer 141 from the A/D converter 122 (FIG. 3), and the buffer 141stores the voice data therein.

Then, when finishing a call, or after the lapse of a predeterminedperiod from starting talking, the learning unit 125 starts learningprocessing by using, as new voice data, the voice data stored in thebuffer 141 during a telephone call or the voice data stored in thebuffer 141 from the start to the end of the conversation.

More specifically, in step S101, the learner data generator 142generates learner data from the voice data serving as supervisor datastored in the buffer 141, and supplies the learner data to the learnerdata memory 143 and stores it therein. The process then proceeds to stepS102.

In step S102, the predictive tap generator 144 specifies one of thevoice samples as supervisor data stored in the buffer 141, and readssome voice samples serving as learner data stored in the learner datamemory 143 for the selected data so as to generate predictive taps andsupplies them to the adder 147.

Also in step S102, as in the predictive tap generator 144, the class tapgenerator 145 generates class taps for the selected data, and suppliesthem to the classification unit 146.

After step S102, the process proceeds to step S103 in which theclassification unit 146 performs classification based on the class tapssupplied from the class tap generator 145, and supplies the resultingclass code to the adder 147.

The process then proceeds to step S104 in which the adder 147 reads theselected data from the buffer 141 and calculates the components of thematrix A and the vector v by using the selected data and the predictivetaps supplied from the predictive tap generator 144. The adder 147 alsoadds the components of the matrix A and the vector v determined from theselected data and the predictive taps to the components of the matrix Aand the vector v stored in the user component storage unit 149corresponding to the class code supplied from the classification unit146. The process then proceeds to step S105.

In step S105, the predictive tap generator 144 determines whether thereis any supervisor data which is not yet selected in the buffer 141. Ifthere is such data, the process returns to step S102, and the unselectedsupervisor data is processed in a manner similar to the above-describedprocessing.

If it is determined in step S105 that there is no supervisor data whichis not yet selected in the buffer 141, the adder 147 supplies the normalequations in equation (8) consisting of the components of the matrix Aand the vector v for each class stored in the user component storageunit 149 to the tap-coefficient determining unit 150. The process thenproceeds to step S106.

In step S106, the tap-coefficient determining unit 150 solves the normalequations for each class supplied from the adder 147 so as to determinea tap coefficient for each class. Also in step S106, the tap-coefficientdetermining unit 150 supplies the tap coefficient for each class,together with the updating information thereof, to the storage unit 126,and stores them by overwriting the old data by this new data. Thelearning processing is then completed.

Although in this example, the learning processing is not performed inreal time, it may be performed in real time if hardware has a sufficientcapacity.

As described above, in the learning unit 125, learning processing basedon new voice data and voice data used for the previous learning isconducted during a telephone call or at a certain time. Accordingly, asthe user makes more telephone calls, tap coefficients for decoding thecoded voice data into voice as faithful as possible to the user's voicecan be determined. Thus, at the communicating party, the coded voicedata is decoded by using such tap coefficients so that processingsuitable for the characteristic of the user's voice can be performed,thereby obtaining the improved decoded voice data. As the user more usesthe cellular telephone 101, the better quality of the voice can beoutput from the communicating party.

When the learning unit 125 of the transmitter 113 (FIG. 3) is configuredas shown in FIG. 14, tap coefficients serve as the quality-improvingdata, and thus, the tap coefficients are stored in the storage unit 136of the receiver 114 (FIG. 4). In this case, in the default data memory137 of the receiver 114, tap coefficients for the individual classesobtained by solving the normal equations consisting of the componentsstored in the initial component storage unit 148 are stored as defaultdata.

FIG. 16 illustrates an example of the configuration of the decoder 132of the receiver 114 (FIG. 4) when the learning unit 125 of thetransmitter 113 (FIG. 3) is configured as shown in FIG. 14.

The coded voice data output from the reception controller 131 (FIG. 4)is supplied to the decoder 161. The decoder 161 decodes the coded voicedata according to a decoding method corresponding to the coding methodused in the coder 123 of the transmitter 113 (FIG. 3), and outputs theresulting decoded voice data to a buffer 162.

The buffer 162 temporarily stores the decoded voice data output from thedecoder 161.

A predictive tap generator 163 sequentially selects quality-improveddata improved from the decoded voice data, and forms (generates)predictive taps used for determining the predictive value of theselected data according to the linear predictive computation in equation(1) by using some voice samples of the decoded voice data stored in thebuffer 162, and supplies the predictive taps to a predicting unit 167.The predictive tap generator 163 generates the same predictive taps asthose generated by the predictive tap generator 144 in the learning unit125 shown in FIG. 14.

A class tap generator 164 forms (generates) class taps for the selecteddata by using some voice samples of the decoded voice data stored in thebuffer 162, and supplies the class taps to a classification unit 165.The class tap generator 164 generates the same class taps as thosegenerated by the class tap generator 145 in the learning unit 125 shownin FIG. 14.

The classification unit 165 performs classification similar to thatperformed by the classification unit 146 of the learning unit 125 shownin FIG. 14 by using the class taps supplied from the class tap generator164, and supplies the resulting class codes to a coefficient memory 166.

The coefficient memory 166 stores a tap coefficient for each classsupplied from the manager 135 as quality-improving data at the addresscorresponding to that class. The coefficient memory 166 also suppliesthe tap coefficient stored at the address corresponding to the classcode supplied from the classification unit 165 to the predicting unit167.

The predicting unit 167 obtains the predictive taps output from thepredictive tap generator 163 and the tap coefficients output from thecoefficient memory 166, and performs linear predictive computationrepresented by equation (1) by using the predictive taps and the tapcoefficients. Accordingly, the predicting unit 167 determines thepredictive value of the quality-improved data as the selected data, andsupplies it to the D/A converter 133 (FIG. 4).

The processing performed by the decoder 132 shown in FIG. 16 isdescribed below with reference to the flowchart of FIG. 17.

The decoder 161 has decoded the coded voice data output from thereception controller 131 (FIG. 4) and has output the resulting decodedvoice data to the buffer 162 and stored it therein.

In step S111, the predictive tap generator 163 selects a voice sample ofthe quality-improved data improved from the quality of the decoded voicedata, for example, in chronological order, and reads some voice samplesof the decoded voice data from the buffer 162 for the selected data soas to form predictive taps. The predictive tap generator 163 thensupplies the predictive taps to the predicting unit 167.

Also in step S111, the class tap generator 164 reads some voice samplesof the decoded voice data stored in the buffer 162 so as to form classtaps for the selected data, and supplies the class taps to theclassification unit 165.

Upon receiving the class taps from the class tap generator 164, theprocess proceeds to step S112 in which the classification unit 165performs classification by using the class taps, and supplies theresulting class code to the coefficient memory 166. The process thenproceeds to step S113.

In step S113, the coefficient memory 166 reads the tap coefficientstored at the address corresponding to the class code supplied from theclassification unit 165, and supplies the tap coefficient to thepredicting unit 167. The process then proceeds to step S114.

In step S114, the predicting unit 167 obtains the tap coefficientsoutput from the coefficient memory 166, and performs product sumcomputation expressed by equation (1) by using the tap coefficients andthe predictive taps from the predictive tap generator 163, therebyobtaining the predictive value of the quality-improved data.

The quality-improved data obtained as described above is supplied to thespeaker 134 from the predicting unit 167 via the D/A converter 133 (FIG.4), and high-quality voice is output from the speaker 134.

That is, the tap coefficients are obtained by conducting learning byusing the user's voice as a supervisor and by using data obtained bycoding and decoding the user's voice as a learner. Accordingly, theuser's original voice can be predicted with high precision from thedecoded voice data output from the decoder 161, and thus, voice asfaithful as possible to the user's real voice, i.e., the voice improvedfrom the decoded voice data output from the decoder 161 (FIG. 16), canbe output from the speaker 134.

After step S114, the process proceeds to step S115 in which it isdetermined whether there is any quality-improved data to be processed asselected data. If there is such data, the process returns to step S111,and processing similar to the above-described processing is repeated. Ifit is determined in step S115 that there is no quality-improved data tobe processed as selected data, the process is completed.

When communication is made between the cellular telephones 101 ₁ and 101₂, in the cellular telephone 101 ₂, as described with reference to FIG.5, data associated with the telephone number of the cellular telephone101 ₁, which is the communicating party, i.e., learning data obtained byconducting learning for the voice data of the user owning the cellulartelephone 101 ₁, is used as the tap coefficients of thequality-improving data. Accordingly, if the voice sent from the cellulartelephone 101 ₁ to the cellular telephone 101 ₂ is the voice of the userowning the cellular telephone 101 ₁, decoding is performed in thecellular telephone 101 ₂ by using the tap coefficients for the user ofthe cellular telephone 101 ₁, thereby outputting the high-quality voice.

However, even when the voice sent from the cellular telephone 101 ₁ tothe cellular telephone 101 ₂ is not the voice of the user owning thecellular telephone 101 ₁, i.e., even when a user other than the userowning the cellular telephone 101 ₁ uses the cellular telephone 101 ₁,decoding is performed in the cellular telephone 101 ₂ by using the tapcoefficients for the user of the cellular telephone 101 ₁. Accordingly,the quality of the voice obtained by decoding such tap coefficients isnot as high as the voice of the real user (owner) of the cellulartelephone 101 ₁. That is, simply, when the user owning the cellulartelephone 101 ₁ uses the cellular telephone 101 ₁, the high qualityvoice can be output from the cellular telephone 101 ₂. However, when auser other than the user owning the cellular telephone 101 ₁ uses thecellular telephone 101 ₁, the high quality voice is not output from thecellular telephone 101 ₂. From this point of view, simple personalauthentication can be conducted in the cellular telephone 101.

FIG. 18 illustrates an example of the configuration of the coder 123forming the transmitter 113 (FIG. 3) when the cellular telephone 101 isa CELP (Code Excited Linear Prediction coding) type.

Voice data output from the A/D converter 122 (FIG. 3) is supplied to acomputation unit 3 and a LPC (Linear Prediction Coefficient) analyzer 4.

The LPC analyzer 4 sets a predetermined voice sample of the voice dataoutput from the A/D converter 122 (FIG. 3) as one frame, and conductsLPC analysis on each frame so as to determine P-order linear predictivecoefficients α₁, α₂, . . . , α_(p). Then, the LPC analyzer 4 suppliesvectors consisting of the P-order linear predictive coefficients α_(p)(p=1, 2, . . . , P) as elements to a vector quantizer 5 as featurevectors of the voice data.

The vector quantizer 5 stores a codebook in which the code vectorsconsisting of the linear predictive coefficients as elements areassociated with codes. Based on this codebook, the vector quantizer 5vector-quantizes the feature vectors α output from the LPC analyzer 4,and supplies the resulting codes (hereinafter sometimes referred to as“A code (A_code)” to a code determining unit 15.

The vector quantizer 5 also supplies linear predictive coefficients α₁′,α₂′, . . . , α_(p)′ forming the code vector α′ corresponding to A codeto a voice synthesizing filter 6.

The voice synthesizing filter 6, which is, for example, an IIR (InfiniteImpulse Response) digital filter, performs voice synthesizing by settingthe linear predictive coefficients α_(p)′ (p=1, 2, . . . , P) outputfrom the vector quantizer 5 to be the tap coefficients of the IIRfilter, and also by setting a residual signal e supplied from acomputation unit 14 to be an input signal.

The LPC analysis performed by the LPC analyzer 4 is as follows. For asample value S_(n) of voice data at a current time n and the past Psamples values S_(n−1), S_(n−2), . . . , S_(n-P) adjacent to the samplevalue S_(n), it is assumed that the linear combination expressed by thefollowing equation holds true.S _(n)+α₁ S _(n−1)+α₂ S _(n−2)+ . . . +α_(P) S _(n-P) =e _(n)   (9)Then, the predictive value (linear predictive value) S_(n)′ of thesample value S_(n) at the current time n is linearly predicted by usingthe past P sample values S_(n−1), S_(n−2), . . . , S_(n-P) according tothe following equation.S _(n)′=−(α₁ S _(n−1)+α₂ S _(n−2)+ . . . +α_(P) S _(n-P))   (10)In this case, the linear predictive coefficient α_(P) for minimizing thesquare error between the actual sample value S_(n) and the linearpredictive value S_(n)′ is determined.

In equation (9), {e_(n)} ( . . . , e_(n−1), e_(n), e_(n+1), . . . ) areuncorrelated random variables whose average is 0 and variance is apredetermined value σ₂.

From equation (9), the sample value S_(n) can be expressed by thefollowing equation.S _(n) =e _(n)−(α₁ S _(n−1)+α₂ S _(n−2)+ . . . +α_(P) S _(n-P))  (11)

Equation (11) is Z-transformed into the following equation.S=E/(1+α₁ Z ⁻¹+α₂ z ⁻²+ . . . +α_(P) z ^(−P))   (12)In equation (12), S and E indicate Z transform of S_(n)and e_(n),respectively, in equation (11).

From equations (9) and (10), en can be expressed by the followingequation:e _(n) =S _(n) −S _(n)′  (13)which can be referred to as a residual signal between the actual samplevalue S_(n) and the linear predictive value S_(n)′.

Accordingly, by setting the linear predictive coefficient α_(P) to bethe tap coefficient of the IIR filter in equation (12) and by settingthe residual signal e_(n) to be the input signal of the IIR filter, thevoice data S_(n) can be determined.

Then, as stated above, by setting the linear predictive coefficientα_(P)′ output from the vector quantizer 5 to be the tap coefficient andby setting the residual signal e supplied from the computation unit 14to be the input signal, the voice synthesizing filter 6 computesequation (12) so as to determine the voice data (synthesized voice data)ss.

In the voice synthesizing filter 6, instead of the linear predictivecoefficient α_(P) obtained as a result of the LPC analysis by the LPCanalyzer 4, the linear predictive coefficient α_(P)′ as the code vectorcorresponding to the code obtained as a result of performing vectorquantization on the LPC result is used. Thus, basically, the synthesizedvoice signal output from the voice synthesizing filter 6 is not the sameas the vice data output from the A/D converter 122 (FIG. 3).

The synthesized voice data ss output from the voice synthesizing filter6 is supplied to the computation unit 3. The computation unit 3subtracts the voice data s output from the A/D converter 122 (FIG. 3)from the synthesized voice data ss supplied from the voice synthesizingfilter 6, and supplies the resulting value to a square-error computingunit 7. The square-error computing unit 7 computes the sum of squares(sum of squares for the sample value of the k-th frame) of the resultingvalue from the computation unit 3, and supplies the resulting squareerror to a minimum-square-error determining unit 8.

The minimum-square-error determining unit 8 stores L code (L_code)indicating the long predictive lag, G code (G_code) representing thegain, and I code (I_code) indicating the code word (excitation codebook)in association with the square errors output from the square-errorcomputing unit 7, and outputs the L code, G code, and I codecorresponding to the square error output from the square-error computingunit 7. L code, G code, and I code are supplied to an adaptive codebookstorage unit 9, a gain decoder 10, and an excitation codebook storageunit 11, respectively. L code, G code, and I code are also supplied to acode determining unit 15.

The adaptive codebook storage unit 9 stores an adaptive codebook forassociating, for example, 7-bit L code, with predetermined delay times(lags). The adaptive codebook storage unit 9 delays the residual signale supplied from the computation unit 14 by a delay time (long predictivelag) corresponding to the L code supplied from the minimum-square-errordetermining unit 8, and outputs the resulting residual signal e to acomputation unit 12.

Since the adaptive codebook storage unit 9 outputs the residual signal eby delaying it by a time corresponding to the L code, the resultingoutput signal is a signal similar to a periodic signal having a cycle ofthe delay time. This signal serves as a drive signal mainly forgenerating synthesized vocal sound in voice synthesizing performed byusing linear predictive coefficients. Conceptually, therefore, the Lcode represents the voice pitch cycle. According to the CELP standards,L code is an integer ranging from 20 to 146.

The gain decoder 10 stores a table for associating G code withpredetermined gains β and γ, and outputs the gains β and γ associatedwith the G code supplied from the minimum-square-error determining unit8. The gains β and γ are output to the computation unit 12 and acomputation unit 13, respectively. The gain β is referred to as a “longfilter status output gain”, while the gain γ is referred to as an“excitation codebook gain”.

The excitation codebook storage unit 11 stores an excitation codebookfor associating, for example, 9-bit I code, with predeterminedexcitation signals, and outputs the excitation signal corresponding tothe I code supplied from the minimizing-square-error determining unit 8to the computation unit 13.

The excitation signals stored in the excitation codebook are signalssimilar to, for example, white noise, and serve as a drive signal mainlyfor generating synthesized voiceless sound in voice synthesizingperformed by using linear predictive coefficients.

The computation unit 12 multiplies the output signal from the adaptivecodebook storage unit 9 by the gain β output from the gain decoder 10,and supplies the resulting multiplied value I to the computation unit14. The computation unit 13 multiplies the output signal from excitationcodebook storage unit 11 by the gain γ output from the gain decoder 10,and supplies the resulting multiplied value n to the computation unit14. The computation unit 14 then adds the multiplied value I from thecomputation unit 12 to the multiplied value n from the computation unit13, and supplies the resulting value to the voice synthesizing filter 6and the adaptive codebook storage unit 9 as the residual signal e.

In the voice synthesizing filter 6, the residual signal e supplied fromthe computation unit 14 as the input signal is filtered in the IIRfilter by using the linear predictive coefficient α_(P)′ supplied fromthe vector quantizer 5, and the resulting synthesized voice data issupplied to the computation unit 3. In the computation unit 3 and thesquare-error computing unit 7, processing similar to the above-describedprocessing is performed, and the resulting square error is supplied tothe minimum-square-error determining unit 8.

The minimum-square-error determining unit 8 determines whether thesquare error from the square-error computing unit 7 is minimized(minimal). If the minimum-square-error determining unit 8 determinesthat the square error is not minimized, it outputs L code, G code, and Icode corresponding to the square error, as stated above, and then,processing similar to the above-described processing is repeated.

If the minimum-square-error determining unit 8 determines that thesquare error is minimized, it outputs a confirmation signal to the codedetermining unit 15. The code determining unit 15 latches A codesupplied from the vector quantizer 5, and also sequentially latches Lcode, G code, and I code supplied from the minimum-square-errordetermining unit 8. Upon receiving a confirmation signal from theminimum-square-error determining unit 8, the code determining unit 15multiplexes the A code, L code, G code, and I code that are currentlylatched, and outputs a multiplexed signal as the coded voice data.

As is seen from the foregoing description, the coded voice data includesA code, L code, G code, and I code, which indicate information used fordecoding, in units of frames.

In FIG. 18 (also in FIGS. 19 and 20, which are described below), eachvariable is set to be an array variable with [k]. In the array variable,k indicates the number of frames, though a description thereof isomitted in the specification.

FIG. 19 illustrates an example of the configuration of the decoder 132of the receiver 114 (FIG. 4) when the cellular telephone 101 is the CELPtype. In FIG. 19, elements corresponding to those in FIG. 16 aredesignated with like reference numerals.

The coded voice data output from the reception controller 131 (FIG. 4)is supplied to a DEMUX (demultiplexer) 21. The DEMUX 21 separates Lcode, G code, I code, and A code from the coded voice data, and suppliesthe L code, G code, I code, and A code to an adaptive codebook storageunit 22, a gain decoder 23, an excitation codebook storage unit 24, anda filter coefficient decoder 25, respectively.

The adaptive codebook storage unit 22, the gain decoder 23, theexcitation codebook storage unit 24, and computation units 26 through 28are configured similarly to the adaptive codebook storage unit 9, thegain decoder 10, the excitation codebook storage unit 11, and thecomputation units 12 through 14, respectively, shown in FIG. 18. The Lcode, G code, and I code are subjected to processing similar to theabove-described processing discussed with reference to FIG. 18 so thatthe L code, G code, and I code are decoded into the residual signal e.This residual signal e is supplied to a voice synthesizing filter 29 asan input signal.

The filter coefficient decoder 25 stores the same codebook as thatstored in the vector quantizer 5 shown in FIG. 18, and decodes A codeinto the linear predictive coefficient α_(P)′ and supplies it to thevoice synthesizing filter 29.

The voice synthesizing filter 29 is configured similarly to the voicesynthesizing filter 6 shown in FIG. 18. The voice synthesizing filter 29computes equation (12) by using the linear predictive coefficient α_(P)′supplied from the filter coefficient decoder 25 as the tap coefficientand the residual signal e supplied from the computation unit 28 as theinput signal so as to generate synthesized voice data when the squareerror is found to be minimum by the minimum-square-error determiningunit 8 shown in FIG. 18, and outputs the synthesized voice data as thedecoded voice data.

As discussed with reference to FIG. 18, the residual signal supplied tothe voice synthesizing filter 29 of the decoder 132 as the input signaland the linear predictive coefficient are transmitted as code from thecoder 123 at the calling side to the decoder 132 at the incoming side.Accordingly, the decoder 132 decodes the code into the residual signaland the linear predictive coefficient. However, since the decodedresidual signal and linear predictive coefficient (hereinafter sometimesreferred to as the “decoded residual signal” and “decoded linearpredictive coefficient”) contain errors, such as quantizing errors, theydo not coincide with the residual signal and the linear predictivecoefficient obtained by conducting the LPC analysis on the user's voiceat the calling side.

Accordingly, the decoded voice data, which is the synthesized voicedata, output from the voice synthesizing filter 29 of the decoder 132exhibit a poor quality, for example, distortions, over the user's voicedata at the calling side.

Thus, the decoder 132 performs the above-described classificationadaptive processing to convert the decoded voice data intoquality-improved data without distortions (with reduced distortions) asfaithful as possible to the user's voice data at the calling side.

More specifically, the decoded voice data, which is the synthesizedvoice data, output from the voice synthesizing filter 29, is supplied tothe buffer 162, and the buffer 162 temporarily stores the decoded voicedata therein.

The predictive tap generator 163 then sequentially selectsquality-improved data improved from the decoded voice data, and readssome voice samples of the decoded voice data from the buffer 162 for theselected data so as to generate predictive taps, and supplies them tothe predicting unit 167. Meanwhile, the class tap generator 164 readssome voice samples of the decoded voice data stored in the buffer 162 soas to from class taps for the selected data, and supplies them to theclassification unit 165.

The classification unit 165 performs classification by using the classtaps supplied from the class tap generator 164, and supplies theresulting class codes to the coefficient memory 166. The coefficientmemory 166 reads the tap coefficient stored at the address correspondingto the class code from the classification unit 165, and supplies the tapcoefficient to the predicting unit 167.

Then, the predicting unit 167 performs product sum computation expressedby equation (1) by using the tap coefficients output from thecoefficient memory 166 and the predictive taps from the predictive tapgenerator 163, thereby obtaining the predictive value of thequality-improved data.

The quality-improved data obtained as described above is supplied to thespeaker 134 from the predicting unit 167 via the D/A converter 133 (FIG.4), and high quality voice can be output from the speaker 134.

FIG. 20 illustrates an example of the configuration of the learning unit125 forming the transmitter 113 (FIG. 3) when the cellular telephone 101is the CELP type. In FIG. 20, elements corresponding to those of FIG. 14are designated with like reference numerals, and an explanation thereofis thus omitted.

Elements, such as computation unit 183 through a code determining unit195, are configured similarly to the elements, such as the computationunit 3 through the code determining unit 15, respectively, shown in FIG.18. Voice data output from the A/D converter 122 (FIG. 3) is input intothe computation unit 183 as learning data. Accordingly, in thecomputation unit 183 through the code determining unit 195, processingsimilar to that performed in the coder 123 shown in FIG. 18 is performedon the learning voice data.

The synthesized voice data output from the voice synthesizing filter 186when the square error is determined to be minimum by theminimum-square-error determining unit 188 is supplied to the learnerdata memory 143 as learner data.

Thereafter, in the elements, such as the learner data memory 143 throughthe tap-coefficient determining unit 150, processing similar to thatperformed discussed with reference to FIGS. 14 and 15 is performed,thereby generating tap coefficients for the individual classes asquality-improving data.

In the embodiment shown in FIG. 19 or 20, the predictive taps and theclass taps are generated from the synthesized voice data output from thevoice synthesizing filter 29 or 186. Alternatively, predictive taps andclass taps may be generated by including at least one of I code, L code,G code, and A code, the linear predictive coefficient α_(P) obtainedfrom A code, the gains β and γ obtained from G code, other informationobtained form L code, G code, I code, or A code (for example, theresidual signal e, l and n for obtaining the residual signal e, and 1/β,n/γ), as indicated by the broken lines in FIG. 19 or 20.

FIG. 21 illustrates another example of the configuration of the coder123 forming the transmitter 113 (FIG. 3).

In the embodiment shown in FIG. 21, the coder 123 codes voice dataoutput from the A/D converter 122 (FIG. 3) by conducting vectorquantization.

More specifically, voice data output from the A/D converter 122 (FIG. 3)is supplied to a buffer 201, and the buffer 201 temporarily stores thevoice data therein.

A vector forming unit 202 reads the voice data stored in the buffer 201in chronological order, and sets a predetermined number of voice samplesto be one frame so as to form the voice data of each frame into avector.

In this case, in the vector forming unit 202, the voice data may beformed into vectors by, for example, directly forming each voice sampleof one frame into a vector component. Alternatively, voice samplesforming one frame may be subjected to acoustic analysis, such as LPCanalysis, and the resulting voice features are formed into vectorcomponents. For the convenience of simplicity, it is assumed that eachvoice sample of one frame is directly formed into a vector component,thereby forming the voice data into vectors.

The vector forming unit 202 outputs vector components (hereinaftersometimes referred to as “voice vectors”) formed from the individualvoice samples of one frame to a distance calculator 203.

The distance calculator 203 calculates the distance (for example,Euclidean distance) between each code vector registered in a codebookstored in a codebook storage unit 204 and the voice vector output fromthe vector forming unit 202, and supplies the distance obtained for eachcode vector, together with the code corresponding to the code vector, toa code determining unit 205.

That is, the codebook storage unit 204 stores the codebook asquality-improving data obtained as a result of learning in the learningunit 125 shown in FIG. 22, which is described below. The distancecalculator 203 calculates the distance between each code vectorregistered in the codebook and the voice vector output from the vectorforming unit 202, and supplies the calculated distance, together withthe code corresponding to the code vector, to the code determining unit205.

The code determining unit 205 detects the shortest distance among thedistances for the code vectors supplied from the distance calculator203, and determines the code corresponding to the code vector having theshortest distance, i.e., the code vector that minimizes the quantizingerror (vector quantizing error) of the voice vector, as the vectorquantizing result for the voice vector output from the vector formingunit 202. The code determining unit 205 then outputs the code as thevector quantizing result to the transmission controller 124 (FIG. 3) asthe coded voice data.

FIG. 22 illustrates an example of the configuration of the learning unit125 forming the transmitter 113 shown in FIG. 3 when the coder 123 isconfigured as shown in FIG. 21.

Voice data output from the A/D converter 122 is supplied to a buffer211, and the buffer 211 stores the voice data therein.

The vector forming unit 212 forms voice vectors by using the voice datastored in the buffer 211, as in the vector forming unit 202 shown inFIG. 21, and supplies the voice vectors to a user vector storage unit213.

The user vector storage unit 213, which is formed of, for example, anEEPROM, sequentially stores the voice vectors supplied from the vectorforming unit 212. An initial vector storage unit 214, which is formedof, for example, a ROM, stores many voice vectors formed by using manyunspecified users in advance.

A codebook generator 215 conducts learning for generating a codebook byusing all the voice vectors stored in the initial vector storage unit214 and the user vector storage unit 213 according to, for example, theLBG (Linde, Buzo, Gray) algorithm, and outputs the resulting codebook asquality-improving data.

The codebook output from the codebook generator 215 as thequality-improving data is supplied to the storage unit 126 (FIG. 3), andis stored therein together with updating information (time and date atwhich the codebook is obtained). The codebook is also supplied to thecoder 123 (FIG. 21) and is written into the codebook storage unit 204.

When learning is conducted in the learning unit 125 shown in FIG. 22 forthe first time, or when learning is conducted immediately after clearingthe user vector storage unit 213, voice vectors are not stored in theuser vector storage unit 213. Accordingly, the codebook generator 215cannot generate a codebook merely by referring to the user vectorstorage unit 213. When the cellular telephone 101 has not been used fora long time, not many voice vectors are stored in the user vectorstorage unit 213. In this case, although a codebook can be generated inthe codebook generator 215 by referring to the user vector storage unit213, the precision of vector quantization conducted by using such acodebook is considerably low (large quantizing errors).

Accordingly, as discussed above, many voice vectors are stored in theinitial vector storage unit 214, and by referring to not only the uservector storage unit 213, but also the initial vector storage unit 214,the codebook generator 215 can generate a codebook that allows vectorquantization with a sufficiently high precision.

After a certain number of voice vectors is stored in the user vectorstorage unit 213, the codebook generator 215 may generate a codebook byreferring to only the user vector storage unit 213 without referring tothe initial vector storage unit 214.

A description is given below, with reference to the flowchart of FIG.23, of learning processing for a codebook data, serving asquality-improving data, conducted in the learning unit 125 shown in FIG.22.

Voice data issued, for example, during a telephone call or at a certaintime, is supplied to the buffer 211 from the A/D converter 122 (FIG. 3),and the buffer 211 stores the voice data therein.

Then, when finishing a call, or after the lapse of a predeterminedperiod from starting talking, the learning unit 125 starts learningprocessing by using, as new voice data, the voice data stored in thebuffer 211 during a telephone call or the voice data stored in thebuffer 211 from the start to the end of the conversation.

More specifically, the vector forming unit 212 reads the voice datastored in the buffer 211 in chronological order, and set a predeterminednumber of voice samples to be one frame so as to form the voice data ofeach frame into vectors. The vector forming unit 212 then supplies theresulting voice vectors to the user vector storage unit 213 and storesthem therein.

Upon completion of forming all the voice data items stored in the buffer211 into vectors, in step S121, the codebook generator 215 determinesthe vector y₁ for minimizing the sum of the distances with all the voicevectors stored in the user vector storage unit 213 and the initialvector storage unit 214. The codebook generator 215 then sets the vectory₁ to be the code vector y₁, and the process proceeds to step S122.

In step S122, the codebook generator 215 sets the number of currentlyobtained code vectors to be the variable n, and divides the code vectorsy₁, y₂, . . . , y_(n) into two portions. More specifically, for example,when Δ is a very small vector, the codebook generator 215 generates thevector y_(i)+Δ and y_(i)−Δ from the code vector y_(i) (i=1, 2, . . . ,n), and sets y_(i)+Δ to be a new code vector y_(i) and sets y_(i)−Δ tobe a new code vector y_(n+i).

The process then proceeds to step S123 in which the codebook generator215 classifies each voice vector x_(j) (j=1, 2, . . . , J (the number ofvoice vectors stored in the user vector storage unit 213 and the initialvector storage unit 214)) stored in the user vector storage unit 213 andthe initial vector storage unit 214 as the code vector y_(i) (i=1, 2, .. . , 2n) having the shortest distance with the voice vector x_(j). Theprocess then proceeds to step S124.

In step S124, the codebook generator 215 updates the code vector y_(i)so that the sum of the distances with the voice vectors classified asthe code vector y_(i) can be minimized. The updating of the code vectory_(i) can be conducted by, for example, determining the centroid of thepoints indicated by at least 0 voice vector classified as the codevector y_(i). That is, the vector indicating the centroid minimizes thesum of the distances with the voice vectors classified as the codevector y_(i). However, if the number of voice vectors classified as they_(i) is 0, the code vector y_(i) is maintained without being updated.

Then, the process proceeds to step S125 in which the codebook generator215 determines the sum of the distances with the voice vectors(hereinafter sometimes referred to as the “distance sum for the codevector y_(i)) classified as the updated code vector y_(i), and alsodetermines the total of the distance sums (hereinafter sometimesreferred to as the “total sum”) for all the code vectors y_(i). Then,the codebook generator 215 determines a change in the total sum, i.e.,whether the absolute value of the difference between the total sumdetermined in current step S125 (hereinafter sometimes referred to asthe “current total sum”) and the total sum determined in previous stepS125 (hereinafter sometimes referred to as the “previous total sum”) islower than or equal to a predetermined threshold.

If it is determined in step S125 that the absolute value of thedifference between the current total sum and the previous total sum ishigher than the predetermined threshold, i.e., that the total sum haschanged significantly after updating the code vector y_(i), the processreturns to step S123, and processing similar to the above-describedprocessing is repeated.

If it is determined in step S125 that the absolute value of thedifference between the current total sum and the previous total sum islower than or equal to the predetermined threshold, i.e., that the totalsum has not changed significantly even after updating the code vectory_(i), the process proceeds to step S126. In step S126, the codebookgenerator 215 determines whether the variable n indicating the number ofcurrently obtained code vectors is equal to the number N of code vectorspreset in the codebook (hereinafter sometimes referred to as the “thenumber of set code vectors”).

If it is determined in step S126 that the variable n is not equal to thenumber N of set code vectors, i.e., that the same number of code vectorsy_(i) as the number N of set code vectors have not been obtained, theprocess returns to step S122, and processing similar to theabove-described processing is repeated.

If it is determined in step S126 that the variable n is equal to thenumber N of set code vectors, i.e., that the same number of code vectorsy_(i) as the number N of set code vectors have been obtained, thecodebook generator 215 outputs the codebook consisting of the N codevectors y_(i) as the quality-improving data, and completes the learningprocessing.

In the learning processing shown in FIG. 23, the previous voice vectorsare stored in the user vector storage unit 213, and the codebook isupdated (generated) by using the voice vectors. However, the updating ofthe codebook may be performed in a simplified manner in steps S123 andS124 without storing the previous voice vectors only by using thecurrent voice vectors and the obtained codebook.

In this case, in step S123, the codebook generator 215 classifies thecurrent voice vector x_(j) (j=1, 2, . . . , J (the number of currentvoice vectors) as the code vector y_(i) (i=1, 2, . . . , N (the numberof code vectors in the codebook) having the shortest distance with thevoice vector x_(j), and the process proceeds to step S124.

In step S124, the codebook generator 215 updates each code vector y_(i)so that the sum of the distances with the voice vectors classified asthe code vector y_(i) can be minimized. As discussed above, the updatingof the code vector y_(i) can be performed by determining the centroid ofthe points indicated by at least 0 voice vector classified as the codevector y_(i). Accordingly, when the updated code vector is indicated byy_(i)′, when the previous voice vectors classified as the code vectory_(i) before being updated are represented by x₁, x₂, . . . , x_(M−L),and when the current voice vectors classified as the code vector y_(i)are indicated by x_(M−L+1), x_(M−L+2), . . . , x_(M), the code vectory_(i) before being updated and the code vector y_(i)′ after beingupdated can be determined by equations (14) and (15), respectively.y _(i)=(x ₁ +x ₂ + . . . +x _(M−L))/(M−L)   (14)y _(i)′=(x ₁ +x ₂ + . . . +x _(M−L) +x _(M−L+1) +x _(M−L+2) + . . . +x_(M))/M   (15)

In this case, the previous voice vectors x₁, x₂, . . . , X_(M−L) are notyet stored. Accordingly, equation (15) is modified into the followingequation.

$\begin{matrix}\begin{matrix}{{y_{i}}^{\prime} = {{\left( {x_{1} + x_{2} + \ldots + x_{M - L} + x_{M - L + 1}} \right)/M} +}} \\{\left( {x_{M - L + 2} + \ldots + x_{M}} \right)/M} \\{= {\left( {x_{1} + x_{2} + \ldots + x_{M - L} + x_{M - L + 1}} \right)/}} \\{{\left( {M - L} \right) \times {\left( {M - L} \right)/M}} + {\left( {x_{M - L + 2} + \ldots + x_{M}} \right)/M}}\end{matrix} & (16)\end{matrix}$

The following equation is obtained by substituting equation (14) intoequation (16).y _(i) ′=y _(i)×(M−L)/M+(x _(M−L+2) + . . . +x _(M))/M   (17)

According to equation (17), by using the current voice vectorsx_(M−L+1), x_(M−L+2), . . . , x_(M) and the code vector y_(i) in theobtained codebook, the code vector y_(i) can be updated, resulting inthe updated code vector y_(i).

In this case, since it is not necessary to store the previous voicevectors, the storage capacity of the user vector storage unit 213 can besmaller. In this case, however, not only the current voice vectors, butalso the number of voice vectors classified as the code vector y_(i) sofar has to be stored in the user vector storage unit 213, and also, inaccordance with the updating of the code vector y_(i), the number ofvoice vectors classified as the updated code vectors y_(i)′ has to beupdated. In the initial vector storage unit 214, instead of many voicevectors formed by using the voice data of many unspecified users, thecodebooks generated by using such many voice vectors and the number ofvoice vectors classified as each code vector have to be stored. Whenconducting learning in the learning unit 125 shown in FIG. 22 for thefirst time, or when learning is conducted immediately after clearing theuser vector storage unit 213, the codebook is updated by using thecodebook stored in the initial vector storage unit 214.

As described above, in the learning unit 125 shown in FIG. 22, thelearning processing shown in FIG. 23 based on new voice data and thepreviously learned voice data is performed during a telephone call or atanother time. Accordingly, as the user makes more telephone calls, thecodebook suitable for the user, i.e., the codebook that can reduce thequantizing error for the user voice can be determined. Thus, by decoding(vector dequantizing) the coded voice data by using such a codebook atthe communicating party, the processing (vector dequantizationprocessing) suitable for the characteristic of the user's voice can beperformed, and decoded voice data having a higher quality over that inthe related art (when using the codebook determined from manyunspecified users) can be obtained.

FIG. 24 illustrates an example of the configuration of the decoder 132of the receiver 114 (FIG. 4) when the learning unit 125 of thetransmitter 113 (FIG. 3) is configured as shown in FIG. 22.

A buffer 221 temporarily stores coded voice data (code as a vectorquantization result) output from the reception controller 131 (FIG. 4).A vector dequantizer 222 reads the code stored in the buffer 221 andperforms vector dequantization on the code by referring to the codebookstored in a codebook storage unit 223, thereby decoding the code intovoice vectors. Then, the vector dequantizer 222 supplies the voicevectors to an inverse-vector forming unit 224.

The codebook storage unit 223 stores the codebook supplied from themanager 135 as quality-improving data.

When the learning unit 125 of the transmitter 113 (FIG. 3) is configuredas shown in FIG. 22, the codebook is stored in the storage unit 136 ofthe receiver 114 (FIG. 4) since the codebook serves as thequality-improving data. In this case, in the default data memory 137 ofthe receiver 114, the codebook generated by using, for example, voicevectors stored in the initial vector storage unit 214 shown in FIG. 22,is stored as default data.

The inverse-vector forming unit 224 forms the voice vectors output fromthe vector dequantizer 222 into inverse vectors and outputs themtime-series voice data.

The processing (decoding processing) of the decoder 132 of FIG. 24 isdescribed below with reference to the flowchart of FIG. 25.

The buffer 221 sequentially stores the codes as coded voice data.

In step S131, the vector dequantizer 222 reads the temporally oldestcode, which has not yet been read, stored in the buffer 221 as aselected code, and dequantizes the selected code. That is, the vectordequantizer 222 detects the code vector with a selected code among thecode vectors of the codebook stored in the codebook storage unit 223,and outputs the code vector to the inverse-vector forming unit 224 as avoice vector.

In step S132, the inverse-vector forming unit 224 forms the voice vectoroutput from the vector dequantizer 22 into an inverse vector so as todecode the voice vector into voice data, and outputs the voice data. Theprocess then proceeds to step S133.

In step S133, the vector dequantizer 222 determines whether there is anyunselected code in the buffer 221. If it is determined in step S133 thatthere is an unselected code in the buffer 221, the process returns tostep S131 in which the temporally oldest code, which has not yet beenread, is read from the buffer 221. Thereafter, processing similar to theabove-described processing is repeated.

If it is determined in step S133 that there is no unselected code storedin the buffer 221, the processing is completed.

In the foregoing examples, tap coefficients in the classificationadaptive processing or codebooks are used as quality-improving data.However, elements other than those elements, for example, parametersconcerning the transmission mode, such as the modulation method or thebit rate, parameters concerning the coding structure, such as the codingmethod, or parameters concerning creations, such as the class structureor the predictive structure, may be used.

The quality-improving data generated and used as described above isstored in the storage unit 136 or 126 in the form of a database (as auser information database) in association with the communicating party(telephone number). As stated above, before generating quality-improvingdata by the learning of the learning unit 125, a default databasesupplied as the initial value is stored in the default data memory 137or the storage unit 136 or 137 for use. For example, if the manager 135fails to search for the telephone number at the calling side in a userinformation database, which is described below, it setsquality-improving data by using a default database, such as that shownin FIG. 26A, 26B, or 26C.

Various parameters used as quality-improving data are stored in thedefault database of the default database memory 137 in association withfeatures to be measured. For example, in FIG. 26A, the quality-improvingdata is associated with the amount of noise, and the levels of themodulation method, bit rate, coding method, codebook, class structure,predictive structure, and predictive coefficients can be selected inaccordance with the amount of noise contained in the reception signal.

For example, if the amount of noise contained in the reception signal isgreater than two predetermined reference values and is thus determinedas “high”, the manager 135 accesses the default data memory 137, andsets the modulation method to be “A”, the bit rate to be “B”, the codingmethod to be “C”, the codebook to be “A”, the class structure to be “B”,the predictive structure to be “C”, and the predictive coefficient to be“A” based on the default database shown in FIG. 26A.

Alternatively, the quality-improving data may be associated with thesignal intensity of the reception signal, as in FIG. 26B, or the carrierfrequency of the reception signal, as in FIG. 26C. The quality-improvingdata may be associated with other features or a combination of suchfeatures.

FIGS. 27A and 27B illustrate examples of the user information databasesstored in the storage unit 136.

The user information database is a database in which the levels of thequality-improving data are associated with the current communicatingparty (telephone number). In the user information database stored in thestorage unit 136, as shown in FIG. 27A, the levels set for thequality-improving data, such as the modulation method, bit rate, codingmethod, codebook, class structure, predictive structure, and predictivecoefficients, are associated with each user.

More specifically, for example, when performing voice communication withthe first user, the manager 135 sets the modulation method to be “A”,the bit rate to be “C”, the coding method to be “A”, the codebook to be“D”, the class structure to be “B”, the predictive structure to be “C”,and the predictive coefficient to be “B” based on the user informationdatabase shown in FIG. 27A.

As the above-described levels, the levels that were most recently setmay be stored in association with the communicating party. However, itis preferable that the levels that are most related to the communicatingparty and were most frequently used in the past be stored in associationwith the communicating party.

Alternatively, a plurality of set levels may be associated with onecommunicating party. In FIGS. 27B, a plurality of set levels areassociated with one user, and the priority is set in each database.

Accordingly, for example, when the communicating party is the firstuser, the manager 125 first sets the quality-improving data with thepriority “1” based on the user information database shown in FIG. 27B,and then, if high quality voice cannot be obtained due to, for example,a communication environment, the manager 125 selects thequality-improving data with the priority “2” or lower in response to auser's instruction.

As stated above, the quality-improving data is information, such as theabove-described tap coefficients or codebook, generated by the cellulartelephone of the communicating party and is received by the receiver114. Alternatively, the quality-improving data may be information, suchas the class codes or predictive taps, generated by the decoder 132 ofthe receiver 114.

FIG. 28 illustrates another example of the internal configuration of thereceiver 114.

In FIG. 28, a manager 401 supplies quality-improving data supplied fromthe reception controller 131 to the decoder 132 and sets it therein, andalso obtains quality-improving data generated in the decoder 132 fromthe decoder 132.

The quality-improving data is supplied to a storage unit 402 from themanager 401, and is temporarily stored in a temporal storage unit 411built in the storage unit 402. When the updating of a user informationdatabase 412 is determined in response to a user's instruction, asdiscussed below, the quality-improving data stored in the temporalstorage unit 411 is reflected on the user information database 412. Inthe user information database 412, quality-improving data optimal foreach user (each communicating party) is registered, and whenquality-improving data is supplied from the temporal storage unit 411,the user information database 412 calculates the optimalquality-improving data by including the supplied quality-improving data,and stores it.

The manager 401 obtains the optimal quality-improving data correspondingto the communicating party stored as described above, and sets thequality-improving data in the decoder 132. The manager 401 also suppliesrelated information to the transmission controller 124 and controls itto supply the related information to the cellular telephone of thecommunicating party.

Quality-improving-data optimal value setting processing performed by themanager 401 is described below with reference to the flowchart of FIG.29.

In step S201, when obtaining information concerning the communicatingparty, such as the telephone number of the communicating party, from thereception controller 131, based on this information, the manager 401searches the user information database 412 of the storage unit 402 forthe optimal values of the quality-improving data corresponding to thecommunicating party information.

Then, in step S202, the manager 401 determines whether the correspondinginformation has been found based on a search result supplied from theuser information database 412. If it is determined that the optimalvalues of the quality-improving data corresponding to the communicatingparty information exist in the user information database 412, theprocess proceeds to step S203. In step S203, the manager 401 selects theoptimal values of the quality-improving data associated with thecommunicating party information and supplies them to the decoder 132 andsets them therein. After setting the optimal values of thequality-improving data, the manager 401 proceeds to step S205.

If it is determined in step S202 that the optimal values of thequality-improving data associated with the communicating partyinformation does not exist in the user information database 412, themanager 401 proceeds to step S204. In step S204, the manager 401 obtainsthe corresponding default data from a default database, such as thatshown in FIG. 26A, 26B, or 26C, stored in the default data memory 137,and supplies the default data to the decoder 132 and sets it therein.After setting the default data, the manager 401 proceeds to step S205.

After the optimal values of the quality-improving data or the defaultdata are set, voice communication is started, and the quality-improvingdata is generated in the decoder 132 and is supplied to the manager 401,and also, the quality-improving data supplied from the communicatingparty is supplied to the manager 401 from the reception controller 131.

In step S205, the manager 401 determines whether new quality-improvingdata has been obtained. If it is determined that new quality-improvingdata has been obtained, the manager 401 proceeds to step S206. In stepS206, the manager 401 supplies the obtained new quality-improving datato the temporary storage unit 411 of the storage unit 402 and stores ittherein. The process then proceeds to step S207.

If it is determined in step S205 that new quality-improving data has notbeen obtained, the manager 401 proceeds to step S207 by skipping stepS206.

If the user finds during voice communication that the quality is notgood, he/she operates the operation unit 115 to request the manager 401to change the data set in step S203 or S204. That is, the user operatesthe operation unit 115 to supply a setting change request to the manager401 so as to reflect the quality-improving data generated for thecurrent voice communication in the set values.

In step S207, the manager 401 determines whether the setting changerequest has been received. If it is determined that the request has beenreceived, the process proceeds to step S208. In step S208, the manager401 calculates the provisional optimal values reflecting the stored newquality-improving data, and supplies the provisional optimal values tothe decoder 132 and sets them therein. The process then proceeds to stepS209.

If it is determined in step S207 that a setting change request has notbeen received, the manager 401 proceeds to step S209 by skipping stepS208.

In step S209, the manager 401 determines whether voice communication hasfinished, and if it is not finished, the process returns to step S205,and step S205 and the subsequent steps are repeated. If it is determinedthat voice communication has finished, the manager 401 proceeds to stepS210.

After finishing voice communication, in step S210, the manager 401displays on a display (not shown) predetermined GUI (Graphical UserInterface) information for allowing the user to select whether the userinformation database 412 is to be updated, and accepts the input via theoperation unit 115.

In step S211, the manager 401 determines whether the user informationdatabase 412 is to be updated in response to the input user'sinstruction, and if it is determined that the user information database412 is to be updated, the process proceeds to step S212. In step S212,the manager 412 updates the user information database 412 by using thestored provisional optimal values, and completes thequality-improving-data optimal value setting processing.

If it is determined in step S211 that the user information database 412is not updated, the manager 401 completes the quality-improving-dataoptimal value setting processing by skipping step S212.

As described above, quality-improving data is calculated and stored inthe cellular telephone. However, as shown in FIG. 30, quality-improvingdata may be calculated and stored in a switching center, and be suppliedto a cellular telephone during voice communication.

In FIG. 30, a switching center 423 includes a quality-improving datacalculator 424 and a storage unit 425, and generates quality-improvingdata to be used in cellular telephones 421-1 and 421-2 and stores it.When, for example, performing voice communication between the cellulartelephones 421-1 and 421-2, the switching center 423 supplies thecorresponding quality-improving data to both the cellular telephones421-1 and 421-2 and sets it therein.

The cellular telephones 421-1 and 421-2 are referred to as the “cellulartelephone 421” unless they have to be distinguished.

A description is given below, assuming that tap coefficients used in theclassification adaptive processing are used as quality-improving data.

When the tap coefficients used in the classification adaptive processingare used as the quality-improving data, the example of the internalconfiguration of the cellular telephone 101 shown in FIG. 2 can also beused as an example of the internal configuration of the cellulartelephone 421 since the cellular telephone 421 is configured similarlyto the cellular telephone 101 shown in FIG. 2. However, the transmitter113 of the cellular telephone 421 is configured, as shown in FIG. 31,which is different from the example of the configuration of thetransmitter 113 shown in FIG. 3.

In the transmitter 113 shown in FIG. 31, a sample data generator 431 isformed instead of the learning unit 125 of the transmitter 113 shown inFIG. 3. The sample data generator 431 extracts a predetermined number ofdata items from the voice data digitized in the A/D converter 122, andstores them in the storage unit 126 as sample data.

Unlike the manager 127 shown in FIG. 3, a manager 432 shown in FIG. 31obtains the sample data, which is non-compressed voice data stored inthe storage unit 126, and supplies it to the switching center 423 viathe transmission controller 124.

FIG. 32 illustrates an example of the internal configuration of theswitching center 423.

In FIG. 32, a CPU (Central Processing Unit) 441 of the switching center423 executes various types of processing according to a program storedin a ROM 442 or a program loaded into a RAM (Random Access Memory) 443from a storage unit 425. In the RAM 423, data required for executingvarious types of processing by the CPU 441 is also stored.

The CPU 441, the ROM 442, and the RAM 443 are connected to each othervia a bus 450. The quality-improving data calculator 424 is connected tothe bus 450 so that it can generate tap coefficients used for theclassification adaptive processing from sample data obtained via acommunication unit 464.

An input/output interface 460 is also connected to the bus 450. Theinput/output interface 460 is connected to an input unit 461 including akeyboard and a mouse, an output unit 462 including a display, forexample, a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display),and a speaker, the storage unit 425 including a hard disk, and thecommunication unit 464 for communicating with the base station 102.

The storage unit 425 stores programs and data executed in the switchingcenter 423, and also stores a user information database in which theoptimal values of quality-improving data calculated in thequality-improving data calculator 424 are associated with users.

A drive 470 is also connected to the input/output interface 460, and amagnetic disk 471, an optical disc 472, a magneto-optical disk 473, or asemiconductor memory 474 is loaded into the drive 470, and computerprograms read from such a recording medium are installed into thestorage unit 425.

FIG. 33 is a block diagram illustrating an example of the internalconfiguration of the quality-improving data calculator 424 shown in FIG.32.

The configuration and the operation of the individual elements shown inFIG. 33 are similar to those of the learning unit 125 shown in FIG. 14,and an explanation thereof is thus omitted. In the quality-improvingdata calculator 424, voice data input into the buffer 141 is sampledata, which is non-compressed voice data, input via the communicationunit 464, and the quality-improving data calculator 424 calculates tapcoefficients based on this sample data and outputs them asquality-improving data.

A description is now given, with reference to the flowchart of FIG. 34,of quality-improving-data usage processing performed by the cellulartelephones 421-1 and 421-2 and the switching center 423 in thetransmission system shown in FIG. 30. It is now assumed that thecellular telephone 421-1 is a telephone at the calling side and thecellular telephone 421-2 is a telephone at the incoming side.

In step S231, based on a user's instruction, the transmitter 113 and thereceiver 114 of the cellular telephone 421-1 at the calling side performcalling processing for the cellular telephone 421-2 owned by the user,which is the communicating party, and access the switching center 423 tomake a connection request.

In step S251, the CPU 441 of the switching center 423 receives theconnection request, and then, in step S252, the CPU 441 controls thecommunication unit 464 to perform connection processing and to accessthe cellular telephone 421-2 at the incoming side, thereby making aconnection request.

In step S271, the transmitter 113 and the receiver 114 of the cellulartelephone 421-2 receive the connection request, and then, in step S272,the transmitter 113 and the receiver 114 perform incoming processing toestablish a connection with the cellular telephone 421-1.

After establishing a connection, in step S253, the CPU 441 of theswitching center 423 searches the user information database stored inthe storage unit 425 for the optimal quality-improving data for thecellular telephones 421-1 and 421-2. If optimal quality-improving datahas been found, the CPU 441 controls the communication unit 464 tosupply the data to the corresponding cellular telephones. If there is nocorresponding quality-improving data, the CPU 441 of the switchingcenter 423 searches the default database stored in the storage unit 425for default data, and controls the communication unit 464 to supply thedefault data, instead of the optimal quality-improving data, to thecellular telephones.

In step S232, the receiver 114 of the cellular telephone 421-1 receivesthe optimal quality-improving data (or default data) supplied from theswitching center 423, and then, in step S233, the receiver 114 sets thereceived data.

After setting the quality-improving data (default data), in step S234,the transmitter 113 and the receiver 114 of the cellular telephone 421-1perform voice communication processing with the cellular telephone421-2, and extract feature information, which is information concerningthe features generated in the voice communication processing.

When voice communication processing is completed to disconnect the linewith the cellular telephone 421-2, in step S235, the transmitter 113 ofthe cellular telephone 421-1 determines based on a user's instructioninput via the operation unit 115 whether the user information databaseis to be updated. If it is determined that the user information databaseis to be updated, in step S236, the transmitter 113 supplies theextracted feature information to the switching center 423, and completesthe processing. If it is determined in step S235 that the userinformation database is not updated, the transmitter 113 completes theprocessing by skipping step S236.

As in the cellular telephone 421-1, in step S273, the receiver 114 ofthe cellular telephone 421-2 receives the optimal quality-improving data(or default data) supplied in step S253. Then, in step S274, thereceiver 114 sets the obtained optimal quality-improving data (ordefault data).

After setting the data, in step S275, the transmitter 113 and thereceiver 114 of the cellular telephone 421-2 perform voice communicationprocessing with the cellular telephone 421-1, and extract the featureinformation, which is information concerning the features to begenerated in the voice communication processing.

After finishing the voice communication processing to disconnect theline with the cellular telephone 421-1, in step S276, the transmitter ofthe cellular telephone 421-2 determines based on a user's instructioninput via the operation unit 115 whether the user information databaseis to be updated. If it is determined that the user information databaseis to be updated, in step S277, the transmitter 113 supplies theextracted feature information to the switching center 423, and completesthe processing. If it is determined in step S276 that the userinformation database is not updated, the transmitter 113 completes theprocessing by skipping step S277.

After supplying the optimal quality-improving data (or default data) instep S253, in step S254, the CPU 441 of the switching center 423 mayreceive the feature information from the cellular telephone 421-1 instep S236 or from the cellular telephone 421-2 in step S277.

The CPU 441 of the switching center 423 then determines in step S255whether the feature information has been obtained. If the featureinformation has been obtained, in step S256, the CPU 441 controls thequality-improving data calculator 424 to calculate quality-improvingdata based on the obtained feature information and to calculate theoptimal quality-improving data based on the calculated quality-improvingdata, and updates the user information database. The processing is thencompleted.

If it is determined in step S255 that the feature information has notbeen obtained from the cellular telephone 421-1 or 421-2, the CPU 441 ofthe switching center 423 completes the processing by skipping step S256.

As described above, the feature information is supplied to the switchingcenter 423 from the cellular telephones 421-1 and 421-2, the optimalquality-improving data is calculated in the quality-improving datacalculator 424, and the updated user information database is stored inthe storage unit 425. This makes it possible to reduce the load on thecellular telephone 101 concerning the processing of quality-improvingdata.

Quality-improving data calculation processing performed by thequality-improving data calculator 424 shown in FIG. 33 is describedbelow with reference to the flowchart of FIG. 35.

In the quality-improving data calculator 424 shown in FIG. 33 forcalculating tap coefficients from non-compressed voice data asquality-improving data, sample data, which is non-compressed voice data,supplied from the communication unit 464 is supplied to the buffer 141.Then, after obtaining a predetermined amount of sample data, thequality-improving data calculation processing is started.

In step S291, the learner data generator 142 sets the voice data storedin the buffer 141 to be supervisor data, and generates learner data fromthe supervisor data. The learner data generator 142 then supplies thelearner data to the learner data memory 143, and the process proceeds tostep S292.

In step S292, the predictive tap generator 144 selects one voice sampledata as the supervisor data stored in the buffer 141, and reads somevoice samples as the learner data stored in the learner data memory 143for the selected supervisor data so as to generate predictive taps, andsupplies them to the adder 147.

Also in step S292, as in the predictive tap generator 144, the class tapgenerator 145 generates class taps for the selected data and suppliesthem to the classification unit 146.

After step S292, the process proceeds to step S293 in which theclassification unit 146 performs classification based on the class tapssupplied from the class tap generator 145 and supplies the resultingclass codes to the adder 147.

The process proceeds to step S294 in which the adder 147 reads theselected data from the buffer 141 and calculates components in thematrix A and the vector v from the selected data and the predictive tapsfrom the predictive tap generator 144. The adder 147 then adds thecomponents in the matrix A and the vector v determined from the selecteddata and the predictive taps to the components in the matrix A and thevector v corresponding to the class codes output from the classificationunit 146 among the components stored in the user component storage unit149. The process then proceeds to step S295.

In step S295, the predictive tap generator 144 determines whether thereis unselected supervisor data in the buffer 141. If there is unselecteddata, the process returns to step S292 in which processing similar tothe above-described processing is repeated on the unselected supervisordata.

If it is determined in step S295 that there is no unselected supervisordata in the buffer 141, the adder 147 supplies the normal equations inequation (8) consisting of the components in the matrix A and the vectorv for each class stored in the user component storage unit 149 to thetap-coefficient determining unit 150. The process then proceeds to stepS296.

In step S296, the tap-coefficient determining unit 150 solves the normalequations for each class supplied from the adder 147 so as to determinetap coefficients for each class. Then, the process proceeds to stepS297. In step S297, the tap-coefficient determining unit 150 suppliesthe tap coefficients for each class to the storage unit 425 togetherwith the updating information, and stores them in association with thesupplier of the sample data by overwriting the old tap coefficients bythe new tap coefficients. The quality-improving-data calculationprocessing is then completed.

As is seen from the foregoing description, in the quality-improving datacalculator 424, quality-improving data calculation processing (learningprocessing) is conducted based on new voice data and voice data used forthe previous learning. Then, as the user makes more telephone calls, tapcoefficients for decoding coded voice data into voice as faithful aspossible to the user's real voice can be obtained. Accordingly, at thecommunicating party of the cellular telephone, which is the supplier ofthe feature information, by decoding the coded voice data by using suchtap coefficients, processing suitable for the characteristic of theuser's voice can be performed, thereby obtaining the sufficientlyimproved decoded voice data. As the user uses more the cellulartelephone 421, the higher quality voice can be output from thecommunicating party.

In the above-described example, the quality-improving data is calculatedand stored in the switching center 423. However, as shown in FIG. 36,the quality-improving data may be calculated in the cellular telephone,which extracts features, and the calculated quality-improving data (userinformation database) may be stored in the switching center 423.

In FIG. 36, the cellular telephone 101 ₁ and 101 ₂ each has the learningunit 125 in the transmitter 113, as in the learning unit 125 shown inFIG. 3, so as to generate tap coefficients (quality-improving data) usedin the classification adaptive processing.

The switching center 423 is provided with the storage unit 425, as inFIG. 32, in which a user information database for associating optimalquality-improving data with user information, such as telephone numbers,is stored.

A description is now given, with reference to the flowchart of FIG. 37,of the processing performed by the individual devices in thetransmission system shown in FIG. 36 when, for example, the cellulartelephone 101 ₁ makes a telephone call to the cellular telephone 101 ₂.

In step S311, based on a user's instruction, the transmitter 113 of thecellular telephone 101 ₁, which is a telephone at the calling side,performs calling processing for the cellular telephone 101 ₂ owned bythe user, which is the communicating party, and accesses the switchingcenter 423 to make a connection request.

In step S331, the CPU 441 of the switching center 423 receives theconnection request. Then, in step S332, the CPU 441 controls thecommunication unit 464 to perform connection processing and to accessthe cellular telephone 101 ₂, which is the telephone at the incomingside, thereby making a connection request.

In step S351, the transmitter 113 and the receiver 114 of the cellulartelephone 101 ₂ receive the connection request, and then, in step S352,the transmitter 113 and the receiver 114 perform incoming processing toestablish a connection with the cellular telephone 101 ₁.

After establishing a connection, in step S333, the CPU 441 of theswitching center 423 searches the user information database stored inthe storage unit 425 for the optimal quality-improving datacorresponding to the cellular telephones 101 ₁ and 101 ₂. If the optimalquality-improving data exists, the CPU 441 controls the communicationunit 464 to supply the optimal quality-improving data to thecorresponding cellular telephones. If the corresponding optimalquality-improving data does not exist, the CPU 441 of the switchingcenter 423 searches the default database stored in the storage unit 425for the corresponding default data, and controls the communication unit464 to supply the default data, instead of the optimal quality-improvingdata, to the cellular telephones.

In step S312, the receiver 114 of the cellular telephone 101 ₁ receivesthe optimal quality-improving data (or default data) from the switchingcenter 423, and then, in step S313, the receiver 114 sets the obtaineddata.

After setting the optimal quality-improving data (or default data), instep S314, the transmitter 113 and the receiver 114 of the cellulartelephone 101 ₁ perform voice communication processing with the cellulartelephone 101 ₂, and generate quality-improving data based on featuresgenerated in the voice communication processing.

After finishing the voice communication processing to disconnect theline with the cellular telephone 101 ₂, in step S315, the transmitter113 of the cellular telephone 101 ₁ determines based on a user'sinstruction input via the operation unit 115 whether the userinformation database is to be updated. If it is determined that the userinformation database is to be updated, in step S316, the transmitter 113supplies the generated quality-improving data to the switching center423, and completes the processing. If it is determined in step S315 thatthe user information database is not updated, the transmitter 113completes the processing by skipping step S316.

As in the cellular telephone 101 ₁, in step S353, the receiver 114 ofthe cellular telephone 101 ₂ receives the optimal quality-improving data(or default data) supplied in step S333. Then, in step S354, thereceiver 114 sets the obtained optimal quality-improving data (ordefault data).

After setting the data, in step S355, the transmitter 113 and thereceiver 114 of the cellular telephone 101 ₂ perform voice communicationprocessing with the cellular telephone 101 ₁, and generatequality-improving data based on features generated in the voicecommunication processing.

After finishing the voice communication processing to disconnect theline with the cellular telephone 101 ₁, in step S356, the transmitter113 of the cellular telephone 101 ₂ determines based on a user'sinstruction input via the operation unit 115 whether the userinformation database is to be updated. If it is determined that the userinformation database is to be updated, in step S357, the transmitter 113supplies the generated quality-improving data to the switching center423, and completes the processing. If it is determined in step S356 thatthe user information database is not updated, the transmitter 113completes the processing by skipping step S357.

After supplying the optimal quality-improving data (or default data) instep S333, in step S334, the CPU 441 of the switching center 423 mayreceive the quality-improving data supplied from the cellular telephone101 ₁ in step S316 or the quality-improving data supplied from thecellular telephone 101 ₂ in step S357.

In step S335, the CPU 441 of the switching center 423 determines whetherthe quality-improving data has been obtained. If the quality-improvingdata has been obtained, in step S336, the CPU 441 controls the storageunit 425 to update the user information database by reflecting theobtained quality-improving data in the user information database. Theprocessing is then completed.

If it is determined in step S335 that the quality-improving data has notbeen obtained from the cellular telephone 101 ₁ or 101 ₂, the CPU 441 ofthe switching center 423 completes the processing by skipping step S336.

As described above, the quality-improving data generated in the cellulartelephones 101 ₁ and 101 ₂ is supplied to the switching center 423, andthe user information database stored in the storage unit 425 of theswitching center 423 is updated based on the supplied quality-improvingdata. This eliminates the need for the cellular telephone 101 to storethe user information database, thereby saving the space in the storagearea.

In the above-described example, the quality-improving data is calculatedin the cellular telephone 101 ₁ or 101 ₂, which extracts features, andthe calculated quality-improving data (user information database) isstored in the switching center 423. Conversely, as shown in FIG. 38,quality-improving data may be calculated in the switching center 423,and the calculated quality-improving data may be supplied to thecellular telephones and be stored therein.

In FIG. 38, the cellular telephone 101 ₁ is provided with a storage unit481-1 including the storage unit 126 shown in FIG. 3 and the storageunit 136 shown in FIG. 4 in which a user information database generatedbased on quality-improving data supplied from the switching center 423is stored. The cellular telephone 101 ₂ is also provided with a storageunit 481-2 similar to the storage unit 481-1 in which a user informationdatabase generated based on the quality-improving data supplied from theswitching center 423 is stored.

As in FIG. 32, the switching center 423 is provided with thequality-improving data calculator 424 so as to calculatequality-improving data based on feature information supplied from thecellular telephones 101 ₁ and 101 ₂.

A description is given below, with reference to the flowchart of FIG.39, of the processing performed by the individual devices in thetransmission system shown in FIG. 38 when, for example, the cellulartelephone 101 ₁ makes a telephone call to the cellular telephone 101 ₂.

In step S371, the transmitter 113 of the cellular telephone 101 ₁, whichis the telephone at the calling side, performs calling processing forthe cellular telephone 101 ₂ owned by the user, which is thecommunicating party, based on a user's instruction, and accesses theswitching center 423 to make a connection request.

In step S391, the CPU 441 of the switching center 423 receives theconnection request. Then, in step S392, the CPU 441 controls thecommunication unit 464 to perform connection processing and to accessthe cellular telephone 101 ₂, which is the telephone at the incomingside, thereby making a connection request.

In step S411, the transmitter 113 and the receiver 114 of the cellulartelephone 101 ₂ receive the connection request, and then, in step S412,the transmitter 113 and the receiver 114 perform incoming processing toestablish a connection with the cellular telephone 101.

After establishing a connection, in step S373, the receiver 114 of thecellular telephone 101 ₁ searches the user information database storedin the storage unit 481-1 for the optimal quality-improving data. If theoptimal quality-improving data has been found, the receiver 114 sets thedata. If the optimal quality-improving data does not exist, the receiver114 sets the predetermined default data. Then, in step S374, thetransmitter 113 and the receiver 114 of the cellular telephone 101 ₁perform voice communication processing with the cellular telephone 101₂, and extract feature information generated in the voice communicationprocessing.

After finishing the voice communication processing to disconnect theline with the cellular telephone 101 ₂, in step S375, the transmitter113 of the cellular telephone 101 ₁ supplies the extracted featureinformation to the switching center 423.

As in the cellular telephone 101 ₁, after establishing a connection, instep S414, the receiver 114 of the cellular telephone 101 ₂ searches theuser information database stored in the storage unit 481-2 for theoptimal quality-improving data. If the optimal quality-improving datahas been found, the receiver 114 sets the data. If the optimalquality-improving data does not exist, the receiver 114 sets thepredetermined default data. Then, in step S415, the transmitter 113 andthe receiver 114 of the cellular telephone 101 ₂ perform voicecommunication processing with cellular telephone 101 ₁, and extractfeature information generated in the voice communication processing.

After finishing the voice communication processing to disconnect theline with the cellular telephone 101 ₁, in step S416, the transmitter113 of the cellular telephone 101 ₂ supplies the extracted featureinformation to the switching center 423.

In step S394, the CPU 441 of the switching center 423 obtains thefeature information supplied from the cellular telephones 101 ₁ and 101₂, and supplies the obtained feature information to thequality-improving data calculator 424.

In step S395, the quality-improving data calculator 424 of the switchingcenter 423 calculates quality-improving data based on the suppliedfeature information. Then, in step S396, the CPU 441 of the switchingcenter 423 supplies the quality-improving data calculated by thequality-improving data calculator 424 to the cellular telephone cellulartelephone 101 ₁ or 101 ₂, which is the supplier of the featureinformation, via the communication unit 464. The processing is thencompleted.

After supplying the feature information, in step S376, the receiver 114of the cellular telephone 101 ₁ obtains the quality-improving datasupplied from the switching center 423. Then, in step S377, the receiver114 determines based on a user's instruction input via the operationunit 115 whether the user information database is to be updated. If itis determined that the user information database is to be updated, thereceiver 114 updates the user information database stored in the storageunit 481-1 by reflecting the obtained quality-improving data in the userinformation database. The processing is then completed. If it isdetermined in step S377 that the user information database is notupdated, the receiver 114 completes the processing by skipping stepS378.

As in the cellular telephone 101 ₁, after supplying the featureinformation, in step S417, the receiver 114 of the cellular telephone101 ₂ obtains the quality-improving data supplied from the switchingcenter 423. Then, in step S418, the receiver 114 determines based on auser's instruction input via the operation unit 115 whether the userinformation database is to be updated. If it is determined that the userinformation database is to be updated, in step S419, the receiver 114updates the user information database stored in the storage unit 418-2by reflecting the obtained quality-improving data in the userinformation database. The processing is then completed. If it isdetermined in step S418 that the user information database is notupdated, the receiver 114 completes the processing by skipping stepS419.

As described above, the quality-improving data generated in theswitching center 423 is supplied to the cellular telephones 101 ₁ and101 ₂, and the user information database stored in the storage units481-1 and 481-2 is updated based on the supplied quality-improving data.Accordingly, the load on the cellular telephone 101 concerning thecalculation of the quality-improving data can be reduced.

As is seen from the foregoing examples, the calculation processing andstorage processing for quality-improving data may be performed by thecellular telephones or the switching center in the transmission systemshown in FIG. 1, 30, 36, or 38.

In the foregoing examples, the processing of the switching center isperformed by the switching center 423. However, part of or the entireprocessing of the switching center 423 may be executed by the basestation 102 ₁ or 102 ₂. In this case, the base station 102 ₁ or 102 ₂ isconfigured as, for example, the switching center 423 shown in FIG. 32.

Alternatively, as shown in FIG. 40, the calculation processing andstorage processing for quality-improving data may be performed by, forexample, home servers 501-1 and 501-2 installed in the homes of theusers of the cellular telephones 101 ₁ or 101 ₂, respectively.

In FIG. 40, the home server 501-1 is a computer which is installed inthe home of the cellular telephone 101 ₁ and which can communicate withthe cellular telephone 101 ₁ by wired or wireless means.

Similarly, the home server 501-2 is a computer which is installed in thehome of the cellular telephone 101 ₂ and which can communicate with thecellular telephone 101 ₂ by wired or wireless means.

The home servers 501-1 and 501-2 are connected to the cellulartelephones 101 ₁ and 101 ₂, respectively, by wired or wireless means,separately from the switching center 423, and perform processing forquality-improving data performed by the switching center 423 in FIG. 30,36, or 38. The home server 501-1 performs processing for thequality-improving data, which would be performed in the switching center423, corresponding to the cellular telephone 101 ₁, while the homeserver 501-2 performs processing for the quality-improving data, whichwould be performed in the switching center 423, corresponding to thecellular telephone 101 ₂.

The home servers 501-1 and 501-2 are referred to as the “home server501” unless they have to be particularly distinguished.

FIG. 41 illustrates an example of the internal configuration of the homeserver 501.

In FIG. 41, the home server 501 is configured similarly to the switchingcenter 423 shown in FIG. 32. That is, elements, such as a CPU 511through a semiconductor memory 534, of the home server 501 shown in FIG.41 correspond to the CPU 441 through the semiconductor memory 474,respectively, of the switching center 423 shown in FIG. 32.

The communication unit 524 of the home server 501 communicates with thecellular telephone 101 by wired or wireless means.

A description is now given, with reference to the flowchart of FIG. 42,of processing executed by the home server 501 and the cellular telephone101 in the transmission system shown in FIG. 40 when the home server 501performs processing similarly to the switching center 423 of thetransmission system shown in FIG. 30, i.e., when the home server 501performs both the calculation processing and storage processing forquality-improving data.

In step S431, the transmitter 113 and the receiver 114 of the cellulartelephone 101 perform voice communication connection processing forconnecting the line with the cellular telephone of the communicatingparty via the switching center 423. That is, if the cellular telephone101 is the cellular telephone 101 ₁, step S231 of FIG. 34 is performed,and if the cellular telephone 101 is the cellular telephone 101 ₂, stepsS271 and S272 of FIG. 34 are performed to connect the line.

After connecting the line, in step S432, the transmitter 113 of thecellular telephone 101 accesses the home server 501 to request it tosend quality-improving data. In step S451, the CPU 511 of the homeserver 501 receives this request, and then, in step S452, the CPU 511searches the user information database stored in the storage unit 523for the quality-improving data associated with the user information ofthe communicating party. If the corresponding quality-improving data hasbeen found, the CPU 511 controls the communication unit 524 to supplythe quality-improving data to the cellular telephone 101. If thecorresponding quality-improving data does not exist, the CPU 511controls the communication unit 524 to supply default data to thecellular telephone 101.

In step S433, the receiver 114 of the cellular telephone 101 receivesthe optimal quality-improving data or the default data supplied from thehome server 501, and in step S434, the receiver 114 sets the obtainedoptimal quality-improving data or default data.

Then, in step S435, the transmitter 113 and the receiver 114 of thecellular telephone 101 perform voice communication processing, andextract feature information concerning the features generated in thevoice communication processing.

After finishing the voice communication processing and disconnecting theline with the cellular telephone of the communicating party, in stepS436, the transmitter 113 of the cellular telephone 101 determines basedon a user's instruction input via the operation unit 115 whether theuser information database stored in the storage unit 523 of the homeserver 501 is to be updated. If it is determined that the userinformation database is to be updated, in step S437, the transmitter 113supplies the extracted feature information to the home server 501, andcompletes the processing. If it is determined in step S436 that the userinformation database is not updated, the transmitter 113 completes theprocessing by skipping step S437.

After supplying the optimal quality-improving data (or default data) instep S452, in step S453, the CPU 511 of the home server 501 may receivethe feature information supplied from the cellular telephone 101 in stepS437.

Then, in step S454, the CPU 511 of the home server 501 determineswhether the feature information has been obtained. If it is determinedthat the feature information has been obtained, in step S455, the CPU511 controls the quality-improving data calculator 514 to calculatequality-improving data based on the obtained feature information and tocalculate new optimal quality-improving data by using the calculatedquality-improving data and the information of the user informationdatabase stored in the storage unit 523, and updates the userinformation database stored in the storage unit 523. The processing isthen completed.

If it is determined in step S454 that the feature information has notbeen obtained from the cellular telephone 101, the CPU 511 of the homeserver 501 completes the processing by skipping step S455.

As described above, the feature information is supplied to the homeserver 501 from the cellular telephone 101, and the optimalquality-improving data is calculated in the quality-improving datacalculator 514 of the home server 501, and the updated user informationdatabase is stored in the storage unit 523. Accordingly, the load on thecellular telephone 101 concerning the processing for quality-improvingdata can be reduced.

A description is now given, with reference to the flowchart of FIG. 43,of the processing executed by the home server 501 and the cellulartelephone 101 in the transmission system shown in FIG. 40 when the homeserver 501 performs processing similarly to the switching center 423 ofthe transmission system shown in FIG. 36, i.e., when the home server 501performs processing for the storage of quality-improving data and whenthe cellular telephone 101 performs processing for calculating thequality-improving data.

In step S471, the transmitter 113 and the receiver 114 of the cellulartelephone 101 perform voice communication connection processing, as instep S431 of FIG. 42.

After connecting the line, as in step S432 of FIG. 42, in step S472, thetransmitter 113 of the cellular telephone 101 accesses the home server501 to request it to send quality-improving data. As in steps S451 andS452 of FIG. 42, in step S491, the CPU 511 of the home server 501receives this request. Then, in step S492, the CPU 511 searches the userinformation database of the storage unit 523 for the quality-improvingdata associated with the user information of the communicating party. Ifthe corresponding quality-improving data has been found, the CPU 511supplies it to the cellular telephone 101, and if the correspondingquality-improving data has not been found, the CPU 511 supplies defaultdata to the cellular telephone 101.

As in steps S433 and S434 of FIG. 42, in step S473, the receiver 114 ofthe cellular telephone 101 receives the optimal quality-improving dataor default data, and in step S474, the receiver 114 sets the obtaineddata.

Then, in step S475, the transmitter 113 and the receiver 114 of thecellular telephone 101 perform voice communication processing, andgenerate quality-improving data based on feature information generatedin the voice communication processing.

After finishing the voice communication processing and disconnecting theline with the cellular telephone of the communicating party, as in stepS436 of FIG. 42, the transmitter 113 of the cellular telephone 101determines in step S476 based on a user's instruction whether the userinformation database is to be updated. If it is determined that the userinformation database is to be updated, in step S477, the transmitter 113supplies the generated quality-improving data to the home server 501,and completes the processing. If it is determined in step S476 that theuser information database is not updated, the transmitter 113 completesthe processing by skipping step S477.

If the cellular telephone 101 supplies the quality-improving data instep S477, in step S493, the CPU 511 of the home server 501 receives thequality-improving data.

Then, in step S494, the CPU 511 of the home server 501 determineswhether the quality-improving data has been obtained. If it is obtained,in step S495, the CPU 511 calculates new optimal quality-improving databy using the obtained quality-improving data and the information of theuser information database stored in the storage unit 523, and updatesthe user information database of the storage unit 523. The processing isthen completed.

If it is determined in step S494 that the quality-improving data has notbeen obtained from the cellular telephone 101, the CPU 511 of the homeserver 501 completes the processing by skipping step S495.

As discussed above, the quality-improving data calculated in thecellular telephone 101 is supplied to the home server 501, and the userinformation database updated in the home server 501 is stored in thestorage unit 523. This eliminates the need for the cellular telephone101 to store the user information database, thereby saving the space ofthe storage area.

A description is given below, with reference to the flowchart of FIG.44, of processing executed by the home server 501 and the cellulartelephone 101 in the transmission system shown in FIG. 40 when the homeserver 501 performs processing similarly to the switching center 423 ofthe transmission system shown in FIG. 38, i.e., when the home server 501performs processing for calculating quality-improving data and when thecellular telephone 101 performs processing for the storage of thequality-improving data.

In step S511, as in step S431 of FIG. 42, the transmitter 113 and thereceiver 114 of the cellular telephone 101 perform voice communicationconnection processing.

After connecting the line, in step S514, the transmitter 113 and thereceiver 114 of the cellular telephone 101 search the user informationdatabase of the storage unit 126 or 136 (storage unit 481) for theoptimal quality-improving data, and set the data. If the correspondingquality-improving data has not been found, the transmitter 113 and thereceiver 114 of the cellular telephone 101 select the default data fromthe default database of the default data memory 137, and set the defaultdata.

Then, as in step S435 of FIG. 42, in step S515, the transmitter 113 andthe receiver 114 of the cellular telephone 101 perform voicecommunication processing, and extract feature information concerning thefeatures generated in the voice communication processing.

After finishing the voice communication processing and disconnecting theline with the cellular telephone of the communicating party, in stepS516, the transmitter 113 of the cellular telephone 101 supplies theextracted feature information to the home server 501.

In step S533, the CPU 511 of the home server 501 receives the featureinformation, and supplies it to the quality-improving data calculator514.

In step S534, the quality-improving data calculator 514 of the homeserver 501 calculates quality-improving data based on the suppliedfeature information. Then, in step S535, the CPU 511 of the home server501 supplies the quality-improving data calculated by thequality-improving data calculator 514 to the cellular telephone 101,which is the supplier of the feature information, via the communicationunit 524. The processing is then completed.

In step S517, the receiver 114 of the cellular telephone 101 receivesthe quality-improving data from the home server 501. Then, the receiver114 determines in step S518 based on a user's instruction input via theoperation unit 115 whether the user information database is to beupdated. If it is determined that the user information database is to beupdated, in step S519, the receiver 114 updates the user informationdatabase by reflecting the obtained quality-improving data in the userinformation database stored in the storage unit 126 or 136 (storage unit481). The processing is then completed. If it is determined in step S518that the user information database is not updated, the receiver 114completes the processing by skipping step S519.

As described above, the quality-improving data generated in the homeserver 501 is supplied to the cellular telephone 101, and the userinformation database stored in the storage unit 126 or 136 (storage unit481) is updated based on the supplied quality-improving data. This makesit possible to reduce the load on the cellular telephone 101 concerningthe calculation of quality-improving data.

The above-described series of processing can be executed by hardware orsoftware. If software is used to execute the series of processing, acorresponding software program is installed into a general-purposecomputer.

Then, FIG. 45 illustrates an example of the configuration of anembodiment of a computer of the cellular telephone 101 into the programfor executing the above-described series of processing is installed.

The program can be recorded in advance in a hard disk 605 or a ROM 603,which serves as a recording medium integrated in the computer.

Alternatively, the program may be temporarily or permanently stored(recorded) in a removable recording medium 611, such as a flexible disk,a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disk,a DVD (Digital Versatile Disc), a magnetic disk, or a semiconductormemory. The removable recording medium 611 can be provided as so-calledpackage software.

When installing the program from the above-described removable recordingmedium 611 into the computer, it can be wirelessly transferred from adownload site to the computer via a satellite for digital satellitebroadcasting, or may be transferred to the computer by wired means via anetwork, such as a LAN (Local Area network) or the Internet. Thecomputer then receives the program by a communication unit 608 andinstalls it in the built-in hard disk 605.

The computer has a built-in CPU 602. An input/output interface 610 isconnected to the CPU 602 via a bus 601. When an instruction is input byoperating an input unit 607, such as a keyboard, a mouse, or amicrophone, by the user via the input/output interface 610, the CPU 602executes a program stored in the ROM 603. The CPU 602 also loadsprograms to the ROM 604 and executes them: programs stored in the harddisk 605, programs transferred from a satellite or a network, receivedby the communication unit 608, and installed into the hard disk 605, orprograms read from the removable recording medium 411 fixed to a drive609 and installed into the hard disk 605. Accordingly, the CPU 602executes the processes indicated by the above-described flowcharts orthe processes performed by the elements of the above-described blockdiagrams. Then, the CPU 602 outputs processing results from an outputunit 606, such as an LCD or a speaker, via the input/output interface610, or sends the processing results via the communication unit 608 orrecords them in the hard disk 605.

In this specification, steps forming the program for allowing thecomputer to execute various types of processing do not have to beexecuted in chronological order designated in the flowcharts. They maybe executed concurrently or individually (for example, parallelprocessing or object processing).

The program may be processed by a single computer, or distributionprocessing may be executed on the program by using a plurality ofcomputers. The program may be transferred to a remote computer and beexecuted.

In this embodiment, the telephone number sent from the calling side whena telephone call is made is used as information for allowing theincoming side to specify the calling side. Alternatively, a unique ID(Identification) may be assigned to each user, and the ID can be used assuch information.

In this embodiment, the present invention is applied to a transmissionsystem for performing voice communication between cellular telephones.However, the present invention can be widely applied to other systemsfor performing voice communication.

INDUSTRIAL APPLICABILITY

According to a transmitting apparatus, a transmitting method, and afirst program of the present invention, coded voice data can betransmitted. In particular, coded voice data can be transmitted withoptimal settings, and high quality voice can be decoded at a receivingside.

According to a receiving apparatus, a receiving method, and a secondprogram of the present invention, coded voice data can be received. Inparticular, coded voice data can be received with optimal settings, andhigh quality voice can be decoded.

According to a transceiver apparatus of the present invention, codedvoice data can be transmitted and received. In particular, coded voicedata can be transmitted and received with optimal settings, and highquality voice can be decoded.

According to a first communication apparatus, a first communicationmethod, and a third program of the present invention, communication canbe performed with the transceiver apparatus. In particular, the storagearea required for the transceiver can be decreased.

According to a second communication apparatus, a second communicationmethod, and a fourth program of the present invention, communication canbe performed with the transceiver apparatus. In particular, the load onthe transceiver can be reduced.

1. A transmitting apparatus for transmitting input voice data,comprising: coding means for coding the voice data and for outputtingcoded voice data; transmitting means for transmitting the coded voicedata; parameter storage means for storing a parameter concerning thecoding performed by the coding means and a parameter concerning thetransmission performed by the transmitting means in association withspecifying information for specifying a receiving side that receives thecoded voice data; and parameter setting means for selecting and setting,based on the specifying information, the parameter concerning the codingperformed by the coding means and the parameter concerning thetransmission performed by the transmitting means stored in the parameterstorage means, wherein the parameter storage means stores, for a pieceof the specifying information, a combination of a plurality ofparameters concerning the coding and a plurality of parametersconcerning the transmission provided with different priority levels. 2.A receiving apparatus for receiving coded voice data obtained by codingvoice data, comprising: receiving means for receiving the coded voicedata; decoding means for decoding the coded voice data received by thereceiving means; parameter storage means for storing a parameterconcerning the reception performed by the receiving means and aparameter concerning the decoding performed by the decoding means inassociation with specifying information for specifying a transmittingside that transmits the coded voice data; and parameter setting meansfor selecting and setting, based on the specifying information, theparameter concerning the reception performed by the receiving means andthe parameter concerning the decoding performed by the decoding meansstored in the parameter storage means, wherein the parameter storagemeans stores, for a piece of the specifying information, a combinationof a plurality of parameters concerning the reception and a plurality ofparameters concerning the decoding provided with different prioritylevels.
 3. A receiving apparatus for receiving coded voice data obtainedby coding voice data, comprising: receiving means for receiving thecoded voice data; decoding means for decoding the coded voice datareceived by the receiving means; parameter storage means for storing aparameter concerning the reception perfonned by the receiving means anda parameter concerning the decoding performed by the decoding means inassociation with specifying information for specifying a transmittingside that transmits the coded voice data; parameter setting means forselecting and setting, based on the specifying information, theparameter concerning the reception performed by the receiving means andthe parameter concerning the decoding performed by the decoding meansstored in the parameter storage means, and determining means fordetermining whether the parameter concerning the reception and theparameter concerning the decoding stored in the parameter storage meansare the latest parameters, wherein, in a case the determining meansdetermines that the parameter concerning the reception and the parameterconcerning the decoding stored in the parameter storage means are notthe latest parameters, the parameter storage means updates the storedparameter concerning the reception and the stored parameter concerningthe decoding.